假设我正在使用CSS或jQuery选择DOM元素,提供更高的分辨率会更快吗?
也就是说,我试图确定以下三个jQuery语句之间的运算速度是否存在差异:
Method 1. $("#name")
Method 2. $("input#name")
Method 3. $("div input#name")
或这些CSS行:
Method 1. #name {font-weight: bold;}
Method 2. input#name {font-weight: bold;}
Method 3. div input#name {font-weight: bold;}
在两种情况下,似乎Method 3
可能使选择器的工作变得容易,因为它可以更快地缩小到元素范围?还是没有区别?
考虑这些jQuery语句
我认为选择器越小,性能越好。我隐约记得在某处读到选择器是从右到左评估的。因此,最先评估最后一个子选择器,然后将结果列表向左移动,将其压缩。如果您担心某个实例,可以随时通过传递可能的选择器并自己查看来测量querySelctorAll()
或$()
前后之间的时间,从而检查该特定实例的性能。