使用 jquery 似乎有两种方法可以在 DOM 内的无序列表中查找列表项。
$("ul>li");
和
$("ul").find("li");
为什么后者可能更可取?似乎需要更多代码才能获得相同的结果。
使用 jquery 似乎有两种方法可以在 DOM 内的无序列表中查找列表项。
$("ul>li");
和
$("ul").find("li");
为什么后者可能更可取?似乎需要更多代码才能获得相同的结果。
是的。速度。.find()
每次都会赢。和处理速度无异!
虽然.find()
会得到所有属于下属的东西(孩子、孩子的孩子、孩子的孩子等),并且>
是直接的孩子选择器。比较以下任何一项都是更好的苹果对苹果:
$('ul li')
对比$('ul').find('li')
$('ul > li')
对比$('ul').children('li')
虽然如果你这样做.find('li')
,它仍然是最快的方法,甚至比.children('li')
.
1)它们不一样,第二种形式等同于$("ul li");
,第一种形式等同于$("ul").children("li")
2) 如果您使用第二种形式,您可以简化 jQuery 的解析任务。但这会使您的代码不那么简单,因此除非您证明速度与您的情况非常相关,否则我不会推荐它。话虽这么说,您通常有更多代码,例如一些元素缓存或一些其他遍历函数,证明使用find
.