如何统计所有具有相同名称的id并添加到数组中

时间:2011-04-21 11:34:09

标签: php javascript jquery html

我需要相同的ID。

<span id='name'>Something</span>

<span id='name'>Something</span>

<span id='name'>Something</span>

<span id='name'>Something</span>

<span id='name'>Something</span>

............. 并添加到数组:

<span id='name[1]'>Something</span>

<span id='name[2]'>Something</span>

<span id='name[3]'>Something</span>

<span id='name[4]'>Something</span>

<span id='name[5]'>Something</span>

...... 请帮帮我...谢谢

3 个答案:

答案 0 :(得分:1)

将您的HTML更改为<span class="name">并使用此jQuery代码:

        $(document).ready(function() {
            $('.name').each(function(index) {
                $(this).attr('id', 'name['+index+']');
            });
        });

如果您使用#name$('#name').each()会在第一个元素之后停止,因为ID应该始终是唯一的。

答案 1 :(得分:0)

元素的id必须是唯一的。获取相同id的元素使用此方法

var all_elem = document.getElementsByTagName("*");
var same_id = array();
var index = 0;
for(var i = 0; i < all_elem.length;i++) {
    if(all_elem[i].id=="name") {
        same_id[index++] = all_elem[i];
    }
}

答案 2 :(得分:0)

你可以......

$('span#name').each(function(i){
    this.id += '[' + i + ']';
})

但如果可能,因为我确信你知道因为这个问题,你应该将你的id更改为class,然后单独设置id。

此外,我不知道[]在ID中有效。如果可能,您应该使用name-1