我應該用document.querySelector
替換document.getElementById
左右嗎? 有什麼區別?您是否推薦我使用querySelector
?使用querySelector而不是document.getElementById
2
A
回答
3
當你在ID上選擇時,使用getElementById
,因爲這比在ID選擇器上使用querySelector
更有效率。後者運行整個CSS選擇器解析,而前者可以直接獲取ID並獲取具有該ID的元素。
當然,當根據除元素ID以外的其他標準進行選擇時,querySelector
(和querySelectorAll
)顯然有其位置。
(該obligatory benchmark證明這種說法,但我也想指出,基準是不是萬能的,差別可能不會讓在實際應用中太大的區別。)
0
如果querySelector可在瀏覽器,您的用戶使用。然後你可以使用它。不用亂扔id你的html是很好的。選擇使用CSS選擇器非常靈活。
表現是一個紅色的鯡魚。我的低劣的舊筆記本電腦可以每秒處理300萬次選擇...
真正的問題是兼容性。你打算如何處理沒有它的瀏覽器?你關心?你可能不得不在乎。
0
兩者在你的情況下服務於相同的目的。但getElementById是最成熟的方法。但是,如果您不關心傳統瀏覽器,那麼querySelector也足夠了。
享受!
相關問題
- 1. 如何使用querySelector而不是jQuery查找父級的孩子?
- 2. document.getElementById由JS而不是HTML給予NULL
- 3. 使用document.getElementById時var null而不是對象
- 4. 如何使用querySelector
- 5. 聚合物:在自定義元素中使用querySelector而不是「this。$」。
- 6. document.getElementByID不是函數
- 7. document.getElementById不能使用textarea
- 8. querySelector不適用於IE 9
- 9. 使用的document.getElementById
- 10. 當使用document.getElementById
- 11. 使用querySelector更改顏色
- 12. 在nativescript中使用querySelector;
- 13. document.getElementById().value和document.getElementById()。checked不適用於IE
- 14. 的document.getElementById()值不是當前
- 15. QuerySelector不是Angular指令的函數
- 16. 的Javascript window.getSelection()長度爲0,而使用querySelector
- 17. 我是否需要使用「document.getElementById」
- 18. 如何使用document.getElementById
- 19. 使用的document.getElementById在
- 20. 「的document.getElementById」是不是爲我工作
- 21. queryselector所有用法
- 22. AJAX POST不能使用document.getElementById變量
- 23. querySelector()的attachEvent()不工作
- 24. querySelector(),其中顯示不無
- 25. 我想使用一個的document.getElementById if語句,但它不是
- 26. document.getElementById找不到?
- 27. document.getelementbyid不工作
- 28. 當document.getElementById()不?
- 29. document.getElementById不工作
- 30. 爲什麼$('#id')。val()不起作用,而document.getElementById('id')。value是完美的?
您是否可以使用'querySelector()'(或'querySelectorAll()')完全取決於您的用戶具有暗示該方法的瀏覽器以及您自己的特定用例。您是否遇到過使用或不使用querySelector()的問題? –