如何引导Javascript使用非唯一ID访问第二个元素

如何引导Javascript使用非唯一ID访问第二个元素,javascript,regex,Javascript,Regex,我试图在我的自动化框架中声明一个成对列表,为此我传入了该列表的两个参数。第一个参数是可用项列表的DOM id,第二个参数是选定项列表的DOM id var pairedList: newPairedList( "availableItemsListID" , "selectedItemsListID"); 在我正在处理的特定案例中,availableItemsListID和selectedItemsListID在DOM中恰好具有相同的ID 这两个id都是“x-fieldset-bwrap”,我

我试图在我的自动化框架中声明一个成对列表,为此我传入了该列表的两个参数。第一个参数是可用项列表的DOM id,第二个参数是选定项列表的DOM id

var pairedList: newPairedList( "availableItemsListID" , "selectedItemsListID");
在我正在处理的特定案例中,availableItemsListID和selectedItemsListID在DOM中恰好具有相同的ID

这两个id都是“x-fieldset-bwrap”,我尝试了以下方法来指示availableItemsListID是该id的第一个实例,selectedItemsListID是该id的第二个实例:

var pairedList: newPairedList( "/x-fieldset-bwrap/[0]" , "/x-fieldset-bwrap/[1]");
它似乎找到了availableItemsList,但当它尝试获取selectedItemsList时失败。有人对如何最好地处理这个问题有什么建议吗

谢谢

您可以使用来选择与CSS选择器匹配的所有元素

document.querySelectorAllx-fieldset-bwrap将匹配id为x-fieldset-bwrap的所有元素


如果您能够更改系统,使其不会在DOM中同时生成具有重复ID的元素,我强烈建议您这样做。

如果您能够以某种方式区分第一个元素和第二个元素,那么您可以在选择中使用这种差异。见下文:

函数显示$div{ log$div.html; } 显示$'unique'; $'unique'.addClass'firstUnique'; 显示$'unique:not.firstUnique'; 一
两个最好的处理方法是使ID唯一,页面实际上是断掉的。我理解这一点,但是我不能改变ID。你能改变newPaireList的工作方式吗?还可以给你的老板发电子邮件,告诉他这迟早会破坏生产环境,除非为了保护你的屁股安全而更改ID是的,我可以更改newPairedList的工作方式,但是这会在各种其他书面测试和各种其他配对列表的声明中导致大量的返工,所以这并不理想。你知道有没有什么方法可以表明第二个记录是偶然的?我同意你的意见,我们需要使ID唯一,这不会是一个问题,但这不是我的立场的可能性。