Php 如何计算所有id';具有相同名称的,并添加到数组中

Php 如何计算所有id';具有相同名称的,并添加到数组中,php,javascript,jquery,html,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> 什么 某物 某物

我需要数个相同的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>
什么 某物 某物 某物 某物 。。。。。。
请帮我做这个…谢谢

将您的HTML更改为
,并使用此jQuery代码:

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

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

元素的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];
    }
}
var all\u elem=document.getElementsByTagName(“*”);
var same_id=array();
var指数=0;
对于(变量i=0;i
您可以

$('span#name').each(function(i){
    this.id += '[' + i + ']';
})
但如果可能的话,我相信您会因为这个问题而意识到,您应该将id更改为class,然后单独设置id


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

您不应该有具有相同id的元素,id的要点是它们是唯一的。您应该使用类,而不是
,我认为当您有相同ID的元素时,这会导致问题。ID不能被多次使用。根据定义,它们是唯一的,每页使用次数不得超过一次。如果您这样做,您将有一个无效的DOM,并且针对它编写脚本将不可靠。方括号[]对于ID也是无效的。最好为共享公共属性的元素指定一个类,并为该类中的每个单独项指定一个唯一的ID,例如。完成此操作后,您可以使用PHP的DOMDocument(服务器端)或jQuery(客户端)根据div的类名获取div集。我想这就是为什么会存在这个问题:如何修复给定数据集中的错误;-)文档在其他方面是否有效(除了重复的ID)?下一次,请不要使用

断行并格式化代码(如果您不想从字面上看到该实体,也不要使用
),只需将代码缩进4个空格(例如,使用代码按钮
{}
)。谢谢