Javascript Jquery的性能:更具体还是更不具体?
就性能而言,$'specificID和$'body.myoutterclass表tr specificID'之间有什么区别?specificID是唯一的 我同意一个选择器不能产生视觉上的差异,但我不知道在什么情况下,你的代码充满了选择器,而你的页面太大Javascript Jquery的性能:更具体还是更不具体?,javascript,jquery,Javascript,Jquery,就性能而言,$'specificID和$'body.myoutterclass表tr specificID'之间有什么区别?specificID是唯一的 我同意一个选择器不能产生视觉上的差异,但我不知道在什么情况下,你的代码充满了选择器,而你的页面太大 如果在性能方面没有差异,那么就最佳实践而言,我应该使用哪种类型的选择器?我们从左到右读取选择器,但浏览器从右到左读取选择器,浏览器在tr中读取specificID,然后在表中读取tr,依此类推。 所以这将对选择器性能产生巨大影响。固有效率的选择器
如果在性能方面没有差异,那么就最佳实践而言,我应该使用哪种类型的选择器?我们从左到右读取选择器,但浏览器从右到左读取选择器,浏览器在tr中读取specificID,然后在表中读取tr,依此类推。 所以这将对选择器性能产生巨大影响。固有效率的选择器有ID、类、类型等 从您的选择中删除额外的选择器以避免额外的时间。就像
nav li a{}到nav a{},我们已经知道在li中的a上它必须在nav中。设置一个JSperf以便您知道。由于规范中的id在文档中必须是唯一的,所以没有必要使用与specificID不同的选择器。尝试避免id,因为它们成为全局变量。对于性能,我建议您保留对父选择器的引用。然后使用find对它们进行分析。@GolezTrol浏览器非常擅长解析CSS选择器。它使用它,嗯,CSS;所有的时间,所有的地方。不要开始优化这样的东西。您将陷入毫无意义的优化中,并错过真正影响用户体验的部分。querySelector all和querySelector都是很好的选择,只要使用一个适合你需要的选项,不管你是想要第一个匹配还是所有结果。@Thomas当然很好。它是一个20个字符的字符串,因此不难解析。但这是必须这样做和应用实际的CSS规则之间的区别,或者直接进入ids字典。就我个人而言,我会坚持使用querySelector and-All,正如您所建议的那样,但讽刺的是,OP使用的是jQuery,并且关注这一级别的性能。