当涉及到选择特定的DOM元素时,jQuery具有相当多方面的功能。今天我注意到,获取相同元素的两种方式可能会产生不同的速度:
$("selector1").find("selector2").find("selector3")
并且
$("selector1 selector2 selector3")
(其中 selectorX
可以是ID、class或其他任何东西)
两者都会产生相同的元素集,但它们之间是否存在速度差异?jQuery实际上如何遍历DOM?这在第二种情况下尤其重要:它是从选择器1到选择器3还是反过来?
有人测量过两者之间的差异吗?
find().
比复合选择器慢了21%。 - Robert Koritnikfind
比其他任何方法都要快得多。对于ID,最好使用复合选择器。在我的IE8中,使用复合选择器与类和ID相似,并且比使用find
快得多。使用复合ID的CH10是最快的,其次是使用类进行find
。另外两种方法明显较慢。 - Robert Koritnik