如果html無效並且具有多個具有相同「someid」的div元素,將返回jQuery("div#someid")
。它會返回這些div的第一個嗎?或者是隨機的?有jQuery(div#id)行爲無效html
回答
選擇器會在不同的瀏覽器中給出不同的結果。
一些測試顯示這些結果:
Firefox 19: All elements
IE 10: All elements
IE 9: All elements
IE 8: All elements
IE 7: One element
Chrome 25: All elements
結果也可能與其他因素,如jQuery版本,頁面渲染模式和操作系統的不同而不同。你只是不能指望一致的結果與衝突的ID屬性。
這實際上只涉及'div#someid'作爲CSS選擇器* *應該*返回無論您的標記是否符合,所有具有相同ID的元素。 IE7是這些列表中唯一不支持本機選擇器API的瀏覽器,因此IE7並未使用它來處理傳遞給jQuery的有效CSS選擇器,從結果中可以明顯看出jQuery將選擇器與規範區別開來。也就是說,最後一句話依然如此。只是不要使用重複的ID來節省自己不必要的麻煩。 – BoltClock 2013-03-22 10:13:42
還要注意''div#someid''的行爲與省略'div'部分並僅使用'「#test」'不同 - 當後者只返回一個元素時。 – nnnnnn 2013-03-22 10:16:53
謝謝您的詳細解答! – trinity 2013-03-22 10:21:24
相同的ID是無效的......所以你應該避免...和使用類...(但不會引發錯誤) 反正選擇將返回第一次出現的該分區具有相同的ID ..
最好知道的是嘗試一下,看看它在這個小動物http://tinker.io/cba17行動,所以答案是它會返回一個具有該ID的所有div的集合。儘管請避免這種情況,因爲它是無效的html,而是使用類。
還要注意有使用$('#someid'
)和$('div#someid')
之間的差異:)
$('#someid'
將返回第一個div使用該ID。
$('div#someid')
將返回全部元素,如我在上面發佈的小提琴中所示。
- 1. jquery .html()無效字符「#」
- 2. 將Div ID更改爲有效
- 3. jquery:無法獲得div的ID
- 4. jquery無法找到div的ID
- 5. jquery變量爲div ID或類
- 6. ZoneOffset的ID無效ID
- 7. 在html中嵌入的SVG中重用ID:無效的html?
- 8. jQuery的TMPL使無效的HTML
- 9. Boost Thread ID無效
- 10. 會話ID無效
- 11. jQuery/HTML擴展DIV
- 12. JQuery HTML Div導航
- 13. 將HTML渲染爲div(jQuery/ColdFusion/Ajax)
- 14. Css&Html,什麼是div id內部div id的css
- 15. jQuery:將div ID應用於.load ID
- 16. 增加div id與jquery
- 17. jQuery Select div ID問題
- 18. 使用jquery更改div ID
- 19. jquery插件得到DIV ID
- 20. 使用jquery獲取div ID?
- 21. jQuery通過特定div ID
- 22. 從DIV替換了jQuery ID
- 23. JQuery PHP獨特的ID爲每個HTML表格的行
- 24. jQuery post.How無效的HTML標記加載到div而不會破壞它
- 25. 具有相同ID的多個div無效?
- 26. 如何從給定的HTML獲得DIV ID在JQuery中
- 27. 使用jQuery('content-id')添加div中的內容。html
- 28. JS,CSS,jQuery DIV 3D效果
- 29. jQuery/HTML滾動行爲
- 30. jquery的DIV ID沒有采取動態DIV ID創建
爲什麼不自己嘗試一下? :O – Jashwant 2013-03-22 10:03:11
[只讀文檔](http://api.jquery.com/id-selector/) - 「如果多個元素被分配了相同的ID,那麼使用該ID的查詢將僅選擇第一個匹配的元素DOM中的元素「。 – 2013-03-22 10:03:23
ID應該是唯一的。給他們一個普通的班。 – lifetimes 2013-03-22 10:03:25