哪个更快:输入[type =“checkbox”]或:复选框?

时间:2011-08-05 01:01:30

标签: javascript jquery performance

那么我应该选择哪些元素呢?我使用复选框作为示例,此问题涉及所有表单元素。

实际上,当我们参与其中时,其中哪一项更快:

li:first

li:eq(0)

3 个答案:

答案 0 :(得分:8)

来自the documentation

虽然在语义上:

  

$(':checkbox')相当于$('[type=checkbox]')

实际上说:

  

因为:checkbox是jQuery扩展而不是CSS的一部分   规范,使用:checkbox的查询无法利用   本机DOM提供的性能提升querySelectorAll()   方法。要在现代浏览器中获得更好的性能,请使   而是[type="checkbox"]

请务必阅读相关文档。这会让您的生活变得更轻松,而且我们的生活更轻松。

答案 1 :(得分:1)

您可以在this testcase中看到自己的效果差异。

在目前为止测试的浏览器中,:checkbox要慢得多。

对于问题的第二部分:使用:first:eq(0) doesn't seem to make much difference

答案 2 :(得分:0)

不同的浏览器实现方式不同。选择一个对所有人都适用的答案是不可能的。不同大小的页面甚至可能会改变答案。您需要测试代码中的性能问题,并修复找到的问题。这些简单选择器之间的差异极不可能是一个问题。