javascript获取数据属性,使用循环不工作

时间:2013-06-07 14:55:02

标签: javascript for-loop

我正在尝试使用核心javascript获取每个元素的“数据编号”。我无法在这里使用jquery,因为我正在编辑插件。

但我无法获取数据

HTML:

<ul>
    <li data-number="2" class="number">1</li>
    <li class="number">2</li>
    <li class="number">3</li>
</ul>

JS:

for(i=0;i<3;i++){
var x = document.getElementsByClassName('.'+number)[i].getAttribute("data-number");
    console.log(x); // i am not getting the result.
}

here is the jsfiddle

提前致谢

2 个答案:

答案 0 :(得分:2)

如果您使用getElementsByClassName并且name是“数字”,则删除该点:

document.getElementsByClassName(name)

您似乎将它与querySelectorAll混淆,Fixed fiddle将CSS选择器作为参数。

在你的小提琴中,你也忘了定义名字:

var name = "number";

{{3}}

答案 1 :(得分:2)

getElementsByClassName采用类的名称,而不是选择器。

document.getElementsByClassName('number')

简单地遍历元素也是一件好事。

var elements = document.getElementsByClassName('number');
for (var i = 0; i < elements.length; i++){
  var x = elements[i].getAttribute('data-number');
  console.log(x);
}