如何为具有相同ID的不同跨度的变量赋值

时间:2011-04-15 09:57:00

标签: javascript

我有很多具有相同ID的跨度。如何将它们的值按照它们的出现顺序分配给不同的变量。

实施例

<span id="hello"> 18</span>
<span id="hello"> 12</span>
<span id="hello"> 21</span>

我想要var1 = 18 var2 = 12 var3 = 21

2 个答案:

答案 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);
    }
}

DEMO

如果您无法更改HTML,在这种情况下您可以比较ID:

if(span.id === 'hello')

这没关系,因为我们正在遍历所有跨度。但像getElementById这样的方法不起作用!

答案 1 :(得分:0)

id标记在文档中应该是唯一的。如果您尝试为它们提供相同的样式,则应使用class属性而不是id属性。您可以使用jQuery class selector获取给定类的所有元素(假设您更改为使用class而不是id)。