2015-08-14 3 views
-1

Я могу использовать следующее, чтобы создать индексный список каждого экземпляра определенного элемента в классе.Переход к конкретному экземпляру класса элемента

var x = document.getElementsByClassName("page"); 

я могу использовать следующее, чтобы направлять пользователей к определенным идентификатором:

function CalledBySelectBox(value) 
    { 
    document.getElementById(value).scrollIntoView(); 
    } 

Однако элементы, которые я хочу, чтобы направлять пользователей не однозначно идентифицировать с идентификаторами. Как изменить второй фрагмент выше, чтобы направить пользователей на конкретный экземпляр/появление x в первом фрагменте. Или, по-другому, как мне направить их в конкретный экземпляр класса.

Если его полезным, вот некоторые примеры HTML:

Some text of unknown length full of random tags and what have you.<span class="page">104</span> A bunch more text but we don't know how much and full of other tags.<span class="page">105</span> Some text of unknown length full of random tags and what have you <span class="page">106</span> 

ответ

4

Я думаю, что вы ищете что-то вроде этого:

function ScrollToPage(page_num) 
{ 
    document.getElementsByClassName('page')[ page_num ].scrollIntoView(); 
} 
2

Что getElementsByClassName(className) дает вам массив элементов, какие document.getElementById(id) дает вам один элемент. Чтобы перейти к индексированному элементу в полученном массиве, просто вызовите scrollIntoView() на этот элемент.

var x = document.getElementsByClassName("page"); 
x[5].scrollIntoView(); 
+0

Ответ на этот ответ и ответ Палпро. Но мне было легче читать/понимать. Спасибо вам. – COMisHARD

+0

@COMisHARD Добро пожаловать. Пожалуйста, примите ответ Джейсона, нажав галочку рядом с ним; так как это помогло вам больше всего. – Paulpro

Смежные вопросы