小编典典

jQuery 中最快的 children() 或 find() 是什么?

all

要在 jQuery 中选择子节点,可以使用 children(),也可以使用 find()。

例如:

$(this).children('.foo');

给出相同的结果:

$(this).find('.foo');

现在,哪个选项最快或首选,为什么?


阅读 123

收藏
2022-04-08

共1个答案

小编典典

children()仅查看节点的直接子节点,同时find()遍历节点下方的整个
DOM,因此在等效实现的情况下children() 应该 更快。但是,find()使用 本机
浏览器方法,同时children()使用在浏览器中解释的 JavaScript 。 在我的实验中,典型情况下的性能差异不大。

使用哪一个取决于您是只想考虑DOM
中的直接后代还是该节点下的所有节点,即根据您想要的结果选择适当的方法,而不是方法的速度。如果性能确实是一个问题,那么尝试找到最佳解决方案并使用它(或在此处查看其他答案中的一些基准)。

2022-04-08