jQuery 类选择器:带或不带标签名
jQuery Class Selectors: With or Without tagname?
我试图为老问题"在选择类时使用标签名称吗?
无论我在网上寻找jQuery最佳实践,几乎总是使用jQuery("tag.className");因为这首先使用getElementByTagName。
所以我在jsPerf上设置了一个基准来检查。我使用了我网站上的源代码标记,所以它更像是一个现实世界的测试,并在所有现代浏览器上运行基准测试,除了 Chrome 和 Opera,所有其他现代浏览器都说 jQuery(".className");快了一个数量级,尽管这与我在网上的书籍和教程中读到的几乎所有内容背道而驰。我认为它更快,因为这些浏览器原生支持 getElementByClassName。
这是基准测试:
http://jsperf.com/length-detection
你认为什么是最好的?
非常感谢
克里斯
如果你真的追求性能,你根本不应该使用 jQuery 来查询元素。请参阅此jsperf:http://jsperf.com/jquery-selecting-by-class
在那里我们可以谈论"幅度"。老实说,如果不研究当前的jQuery源代码,我就无法知道jQuery在引擎盖下做了什么。即使它使用getElementsByClassNames
由于jQuery带来的所有血腥和开销,它对整体性能的影响也很小,零。无论如何,查询元素的基本规则很简单:不要过于具体。CSS 选择器从右到左工作,所以当我们有一个像 element.classname
这样的查询时,大多数引擎会首先抓取所有类名为 classname
的元素,然后过滤掉也属于 to 元素类型的节点 element
。
- AngularJS-在JSON选择器中使用变量名
- JQuery:单击范围标签时切换日期选择器
- 在jquery选择器中获取id或类名,使用PHP的regex
- 谷歌图表:无效的列标签 |类别筛选器作为列选择器
- Rally SDK 2 标签选择器是否有必填字段?对象没有方法'getContextPath'
- JQuery 选择器:以字符串形式获取多个类名之一
- 查找带有多个选择器的 prev() 标签
- 没有类名 jquery 选择器
- 花哨的jQuery标签选择器
- Twitter Bootstrap Dropdown与标签选择器
- 此标签的正确选择器
- 检查CasperJS中是否存在标签(而不是选择器)
- 精确类名的Css选择器
- 如何通过按下标签显示隐藏内容使用选择器
- 如何通过类名获得在JavaScript中动态添加的所有选择器
- 是否有一个现有的或即将推出的CSS3选择器来匹配属性名的子字符串
- jQuery选择器问题与锚标签和隐藏Div
- 用于复选框标签的Jquery选择器
- jQuery可以使用结束标签作为选择器吗?
- Jquery元素类型和类名选择器