要在 jQuery 中选择子节点,可以使用 children(),也可以使用 find()。
例如:
$(this).children('.foo');
给出相同的结果:
$(this).find('.foo');
现在,哪个选项最快或首选,为什么?
children()仅查看节点的直接子节点,同时find()遍历节点下方的整个 DOM,因此在等效实现的情况下children() 应该 更快。但是,find()使用 本机 浏览器方法,同时children()使用在浏览器中解释的 JavaScript 。 在我的实验中,典型情况下的性能差异不大。
children()
find()
使用哪一个取决于您是只想考虑DOM 中的直接后代还是该节点下的所有节点,即根据您想要的结果选择适当的方法,而不是方法的速度。如果性能确实是一个问题,那么尝试找到最佳解决方案并使用它(或在此处查看其他答案中的一些基准)。