получить определенный элемент из всех элементов, которые я получаю по ClassName?

Итак, я работаю над сценарием, и я нахожусь в ситуации, когда я имею дело с набором элементов на веб-странице, все из которых имеют одинаковое имя класса, которое выглядит следующим образом:

<span class="values">1 </span>
<span class="values">2 </span>
<span class="values">23 </span>

Значение третьего постоянно меняется, и я хотел бы конкретно определить этот третий в списке. Как мне определить «23», зная, что его значение всегда может измениться? То, что я пытался сделать, это сделать так, но это не работает:

var numbers = document.getElementsByClassName("values"),
    rank = numbers[3];

Итак, что я делаю здесь:

  • Сначала я получаю все элементы с именем класса «значения».
  • Затем я определяю третий элемент в списке элементов

Что я здесь делаю неправильно? Может быть, хотя в меню «проверить элемент» они появляются друг под другом, такого ранжирования нет, поэтому он не понимает, что я имею в виду под [3]?

.

Спасибо за помощь!

PS: я знаю, что третье значение всегда больше 20.


person bram    schedule 31.03.2014    source источник
comment
Он нулевой индекс, поэтому, вероятно, будет numbers[2]   -  person adeneo    schedule 31.03.2014
comment
Дайте этому элементу идентификатор и используйте document.getElementById(), чтобы сослаться на него.   -  person    schedule 31.03.2014


Ответы (2)


массив начинается с [0], поэтому вам нужен элемент [2], вы также можете добавить «innerHTML», чтобы просто получить значение.

var numbers = document.getElementsByClassName("values"),
    rank = numbers[2].innerHTML;

http://jsfiddle.net/tBA73/

person Ctrl Alt Design    schedule 31.03.2014

Если вы хотите получить ранг третьего элемента в виде числа, вам следует сделать следующее:

var numbers = document.getElementsByClassName("values"),
    rank = parseInt(numbers[2].innerHTML, 10);
person friedi    schedule 31.03.2014