我有很多具有相同ID的跨度。如何将它们的值按照它们的出现顺序分配给不同的变量。
实施例
<span id="hello"> 18</span>
<span id="hello"> 12</span>
<span id="hello"> 21</span>
我想要var1 = 18 var2 = 12 var3 = 21
答案 0 :(得分:2)
请参阅我对ID的评论。现在假设你给这些元素一个类hello
,这将适用于所有浏览器:
var values = [],
spans = document.getElementsByTagName('span');
for(var i = 0, l = spans.length; i < l; i++) {
var span = spans[i];
if(span.className === 'hello') {
values.push(span.innerHTML);
}
}
如果您无法更改HTML,在这种情况下您可以比较ID:
if(span.id === 'hello')
这没关系,因为我们正在遍历所有跨度。但像getElementById
这样的方法不起作用!
答案 1 :(得分:0)
id标记在文档中应该是唯一的。如果您尝试为它们提供相同的样式,则应使用class属性而不是id属性。您可以使用jQuery class selector获取给定类的所有元素(假设您更改为使用class而不是id)。