gpt4 book ai didi

javascript - jQuery 类选择器 : With or Without tagname?

转载 作者:行者123 更新时间:2023-11-29 10:51:01 24 4
gpt4 key购买 nike

我正在尝试为“选择类时应该使用标签名称吗?”这个老问题找到明确的答案

我在网上到处寻找 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 的所有元素,然后过滤掉也属于 element 元素类型的节点。

关于javascript - jQuery 类选择器 : With or Without tagname?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10278128/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com