我只是想知道爲什麼沒有人使用document.querySelector("#myDiv");
而不是document.getElementById("myDiv");
?爲什麼document.querySelector從來沒有使用過
是否有瀏覽器兼容性問題,或者是什麼原因?
感謝
我只是想知道爲什麼沒有人使用document.querySelector("#myDiv");
而不是document.getElementById("myDiv");
?爲什麼document.querySelector從來沒有使用過
是否有瀏覽器兼容性問題,或者是什麼原因?
感謝
要驗證的前提下,我檢查StackOverflow的答案與月份以來的得分等於或大於4 ...你是正確的。
document.querySelector
完全document.getElementById
專門您可以在Stack Exchange Data Explorer嘗試自己的查詢。
select count(*)
from Posts
where Body like '%document.querySelector(%'
and Body not like '%document.getElementById(%'
and PostTypeId = 2 -- Answer
and Score > 4
and CreationDate > '2017-01-01'
and CreationDate < '2017-08-01'
select count(*)
from Posts
where Body like '%document.getElementById(%'
and Body not like '%document.querySelector(%'
and PostTypeId = 2 -- Answer
and Score > 4
and CreationDate > '2017-01-01'
and CreationDate < '2017-08-01'
我們回答您的問題,這很難說,爲什麼一個可能有利於語法。 Performance可能是一個問題(正如2pha指出的那樣),因爲querySelector()
必須解析字符串以確定哪個元素將匹配,其中getElementById
不需要解析輸入字符串,並且可以立即查詢DOM。
但是,它不是多次查詢DOM的好習慣,所以這通常會發生一次,並且您會保留對該DOM元素的引用。
這可能歸結爲以下幾點:
querySelector
和人民唯一的選擇是getElementById
所以它的一些只是哈比特是的,謝謝,這使得完美的感覺,謝謝你的時間:) –
我使用它,所以它顯然不是沒有人。 – Andy
......相信「沒有人使用」的基礎是什麼? –
我一直都在使用它,但是,在比較的情況下,我也會使用'getElementById',因爲'querySelector'必須找出你的選擇器是什麼意思,它是一個類,一個id,它是否包含僞選擇器?大多數人使用它時,他們需要一個複雜的選擇器運行,但只想第一個結果(而不是'querySelectorAll') – KevBot