当多个元素共享相同的id时,标准错误行为是什么?

时间:2011-01-06 13:53:15

标签: javascript html standards

我正在使用Selenium进行自动化测试,以获得复杂的企业级Web应用程序,但我遇到了一些问题。

程序员似乎没有优先考虑标准HTML。页面完全不符合要求。我目前的问题是几个元素共享相同的id值,这显然不是一件好事。我不允许改变它,反正我认为我不想。

当许多元素具有相同的ID时会发生什么?流行的浏览器如何处理?我特别询问document.getElementById:哪一个被退回?

2 个答案:

答案 0 :(得分:1)

除非我不知道document.getElementId内部有什么内容,否则我会期望它返回它遇到的第一个元素。 (见这个小提琴:http://jsfiddle.net/rrTra/

虽然浏览器行为可能会有所不同,但我相信大多数人会忽略其他条目而不报告错误。

修改

找到此链接:http://reference.sitepoint.com/javascript/Document/getElementById

  

当多个元素共享相同时   ID

     

此方法的行为何时   指定的多个元素   ID存在不标准化,因为   不允许包含文档   不止一个元素具有相同的元素   ID。但在此参考   所有浏览器返回的情况   找到第一个元素。

答案 1 :(得分:1)

document.getElementById返回id为

的第一个元素

在FF,IE,Chrome,Safari和&戏