从ClassName获得的所有元素中获取特定元素?

时间:2014-03-31 17:46:53

标签: javascript getelementsbyclassname

所以我正在编写一个脚本,而我正处理一个网页上的一组元素,这些元素都有类似的类名,如下所示:

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

第三个的值一直在变化,我想特别定义列表中的第三个。如何定义“23”,知道它总能改变价值?我尝试做的是这样做,但它不起作用:

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

所以我在这里做的是:

  • 我首先获得所有带有classname“values”的元素。
  • 然后我在元素列表中定义第三个元素

我在这里做错了什么?也许即使在“检查元素”菜单中它们出现在彼此之下,也没有这样的排名,所以它不知道我的意思[3]?

感谢您的帮助!

PS:我知道第三个值总是大于20。

2 个答案:

答案 0 :(得分:1)

数组以[0]开头,所以你想要的是元素[2] 你可能还想添加&#34; innerHTML&#34;获得价值。

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

http://jsfiddle.net/tBA73/

答案 1 :(得分:0)

如果您想将第三个元素的等级作为数字,您应该执行以下操作:

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