2013-01-15 50 views
1

我正在處理使用lightbox實現進行圖像查看的HTML文檔,並且由於與API有關的原因,它使用相同的元素ID兩個景點 - 一個用於縮略圖視圖,另一個用於燈箱/全景視圖。 (這些元素在單獨的<div>標籤中。)使用CSS選擇器查找具有相同ID的元素作爲另一個但不同的類

這兩個元素有不同的類值,我想知道在編寫選擇器時如何區分它們?是否像#myElementWithDuplicateID.className1#myElementWithDuplicateID.className2

一般來說,對頁面上的不同元素使用相同的ID是否是不好的做法,或者是否有這樣做的情況我不知道?

+1

是的。對不同的元素使用相同的ID是不好的做法。元素ID在整個文檔中應該是唯一的。 – srijan

+1

來自1999規範:http://www.w3.org/TR/REC-html40/struct/global.html#adef-id –

回答

2

重複的ID在HTML文檔中無效,特別是會導致腳本問題,所以它們的使用被廣泛認爲是不好的做法。沒有任何情況下,具有共同ID的元素可以證明擁有一個共同類別是合理的。如果可以的話,您應該更正重複ID,以防止您的Lightbox API和其他地方出現潛在的問題。

也就是說,在不能去重複ID的情況下,您提出的解決方案(鏈接ID和類選擇器)將起作用。 CSS中的唯一ID選擇器將匹配具有給定ID的所有元素,而不管它們是否重複,所以使用類選擇器來區分它們是合理的。 Further reading.

+0

謝謝。我會推動讓這些ID重複刪除。 – larryq

相關問題