使用jQuery有似乎是DOM内的无序列表内找到一个列表项的方法有两种。
$("ul>li");
和
$("ul").find("li");
有没有为什么,后者可能是更理想的一个原因? 这似乎是一个需要更多的代码来获得相同的结果。
使用jQuery有似乎是DOM内的无序列表内找到一个列表项的方法有两种。
$("ul>li");
和
$("ul").find("li");
有没有为什么,后者可能是更理想的一个原因? 这似乎是一个需要更多的代码来获得相同的结果。
对。 速度。 .find()
会每次都赢。 和处理速度,无异!
jsPerf速度测试,以显示我是什么意思
虽然.find()
将获得的一切,是一个下级(孩子的孩子,孩子,孩子的孩子,等子女),并且>
是一个直接子选择器。 它是一个更好的苹果对苹果用来比较如下:
$('ul li')
VS $('ul').find('li')
$('ul > li')
VS $('ul').children('li')
但如果你做.find('li')
它仍然是这样做的最快方式,甚至快过.children('li')
更新jsPerf包括.children()
1)他们是不一样的,第二种形式将等同于$("ul li");
与第一个等同于$("ul").children("li")
2)如果你使用第二种形式,可以简化jQuery的解析任务。 但它使你的代码少简单,所以我不会推荐它,除非你证明速度是你的情况密切相关。 这是说,你平时有例如在一些元素缓存,或其他一些穿越功能更多的代码,证明使用的find
。