Pashok Asked:2020-06-24 17:38:31 +0800 CST2020-06-24 17:38:31 +0800 CST 2020-06-24 17:38:31 +0800 CST querySelector 和 getElementById 有什么区别? 772 这个问题可能太笼统或离题,但我很好奇。我见过有人用querySelectorid 而不是类名来查找元素。为什么不使用该方法getElementById,因为它是专门为此设计的?querySelector执行得更快或更正确? javascript 1 个回答 Voted Best Answer Randall 2020-06-24T19:57:06+08:002020-06-24T19:57:06+08:00 正如 基准 getElementById测试所显示的那样,它的速度几乎是querySelector 如你所说,基本没有区别,只是querySelector比 慢一点getElementById,结果不仅可以处理id,还可以处理 classes、attribute 等。 querySelector:当我们知道只有一个匹配元素,并且我们想立即将其放入变量中时,通常会使用此方法。卡纽斯 getElementById:如果文档中有多个具有唯一 id 的元素(这是不正确的),则行为未定义。也就是说,不能保证浏览器会准确地返回第一个或最后一个 - 它会随机返回。卡纽斯 此外,如果元素有一个id ,许多程序员使用通过变量直接访问,这样有更少的字母,更容易理解发生了什么。但首选方法是document.getElementById。 <h1 id="myTag"></h1> myTag.innerHTML = "Какой нибудь текст"
正如 基准
getElementById
测试所显示的那样,它的速度几乎是querySelector
如你所说,基本没有区别,只是
querySelector
比 慢一点getElementById
,结果不仅可以处理id,还可以处理 classes、attribute 等。querySelector:当我们知道只有一个匹配元素,并且我们想立即将其放入变量中时,通常会使用此方法。卡纽斯
getElementById:如果文档中有多个具有唯一 id 的元素(这是不正确的),则行为未定义。也就是说,不能保证浏览器会准确地返回第一个或最后一个 - 它会随机返回。卡纽斯
此外,如果元素有一个id ,许多程序员使用通过变量直接访问,这样有更少的字母,更容易理解发生了什么。但首选方法是document.getElementById。