css选择器vs jquery遍历

can*_*his 9 css jquery jquery-selectors

使用jquery,似乎有两种方法可以在DOM中的无序列表中查找列表项.

$("ul>li");
Run Code Online (Sandbox Code Playgroud)

$("ul").find("li"); 
Run Code Online (Sandbox Code Playgroud)

有没有理由说后者可能更合适?似乎需要更多代码来获得相同的结果.

Pla*_*dea 12

对.速度..find()每次都会赢.加工速度无异于!

jsPerf速度测试显示我的意思

虽然.find()会得到所有下属(孩子,孩子的孩子,孩子的孩子等),并且>是直接的孩子选择者.它可以比较以下任何一个更好的苹果对苹果:

  • $('ul li') VS $('ul').find('li')
  • $('ul > li') VS $('ul').children('li')

虽然如果你这样做.find('li')仍然是最快的方式,甚至更快.children('li').

更新了jsPerf以包含 .children()