我正在爲一個複雜的企業級Web應用程序使用Selenium進行自動化測試,並且遇到了一些問題。多個元素共享相同的標識時,標準錯誤行爲是什麼?
看起來程序員並不認爲標準HTML的優先級太高。頁面完全不兼容。我目前的問題是,有幾個元素的價值相同,顯然這不是一件好事。我不能改變它,反正我不認爲我想。
當許多元素具有相同的ID時會發生什麼?流行的瀏覽器如何處理?我特別要求的是document.getElementById
:哪一個退回?
我正在爲一個複雜的企業級Web應用程序使用Selenium進行自動化測試,並且遇到了一些問題。多個元素共享相同的標識時,標準錯誤行爲是什麼?
看起來程序員並不認爲標準HTML的優先級太高。頁面完全不兼容。我目前的問題是,有幾個元素的價值相同,顯然這不是一件好事。我不能改變它,反正我不認爲我想。
當許多元素具有相同的ID時會發生什麼?流行的瀏覽器如何處理?我特別要求的是document.getElementById
:哪一個退回?
除非我不知道document.getElementId
的內部信息,否則我會希望它返回遇到的第一個元素。 (見本小提琴:http://jsfiddle.net/rrTra/)
雖然瀏覽器的行爲可能會有所不同,我相信大多數人會忽略其他條目,而不報告錯誤。
EDIT
實測此鏈接:http://reference.sitepoint.com/javascript/Document/getElementById
當多個元件共用相同的 ID
此方法的行爲時 指定 ID的多於一個的元件存在不規範,因爲 文件不允許含有 個以上的元素具有相同的 ID。但是,以供參考,在此情況下 所有的瀏覽器返回發現 第一要素。
document.getElementById
返回與ID
在FF,IE,Chrome的測試,Safari瀏覽器&歌劇
你爲什麼不寫一個小的應用程序嘗試它的第一個元素?我想記住,ff返回找到的第一個元素。 – Simon 2011-01-06 13:57:25