2011-01-06 30 views
1

我正在爲一個複雜的企業級Web應用程序使用Selenium進行自動化測試,並且遇到了一些問題。多個元素共享相同的標識時,標準錯誤行爲是什麼?

看起來程序員並不認爲標準HTML的優先級太高。頁面完全不兼容。我目前的問題是,有幾個元素的價值相同,顯然這不是一件好事。我不能改變它,反正我不認爲我想。

當許多元素具有相同的ID時會發生什麼?流行的瀏覽器如何處理?我特別要求的是document.getElementById:哪一個退回?

+1

你爲什麼不寫一個小的應用程序嘗試它的第一個元素?我想記住,ff返回找到的第一個元素。 – Simon 2011-01-06 13:57:25

回答

1

除非我不知道document.getElementId的內部信息,否則我會希望它返回遇到的第一個元素。 (見本小提琴:http://jsfiddle.net/rrTra/

雖然瀏覽器的行爲可能會有所不同,我相信大多數人會忽略其他條目,而不報告錯誤。

EDIT

實測此鏈接:http://reference.sitepoint.com/javascript/Document/getElementById

當多個元件共用相同的 ID

此方法的行爲時 指定 ID的多於一個的元件存在不規範,因爲 文件不允許含有 個以上的元素具有相同的 ID。但是,以供參考,在此情況下 所有的瀏覽器返回發現 第一要素。

1

document.getElementById返回與ID

在FF,IE,Chrome的測試,Safari瀏覽器&歌劇

相關問題