2013-11-02 115 views
2

我應該用document.querySelector替換document.getElementById左右嗎? 有什麼區別?您是否推薦我使用querySelector使用querySelector而不是document.getElementById

+1

您是否可以使用'querySelector()'(或'querySelectorAll()')完全取決於您的用戶具有暗示該方法的瀏覽器以及您自己的特定用例。您是否遇到過使用或不使用querySelector()的問題? –

回答

3

當你在ID上選擇時,使用getElementById,因爲這比在ID選擇器上使用querySelector更有效率。後者運行整個CSS選擇器解析,而前者可以直接獲取ID並獲取具有該ID的元素。

當然,當根據除元素ID以外的其他標準進行選擇時,querySelector(和querySelectorAll)顯然有其位置。

(該obligatory benchmark證明這種說法,但我也想指出,基準是不是萬能的,差別可能不會讓在實際應用中太大的區別。)

0

如果querySelector可在瀏覽器,您的用戶使用。然後你可以使用它。不用亂扔id你的html是很好的。選擇使用CSS選擇器非常靈活。

表現是一個紅色的鯡魚。我的低劣的舊筆記本電腦可以每秒處理300萬次選擇...

真正的問題是兼容性。你打算如何處理沒有它的瀏覽器?你關心?你可能不得不在乎。

0

兩者在你的情況下服務於相同的目的。但getElementById是最成熟的方法。但是,如果您不關心傳統瀏覽器,那麼querySelector也足夠了。

享受!

相關問題