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

标签 jquery jquery-selectors

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

例如:

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

给出相同的结果:

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

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

最佳答案

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

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

关于jquery - jQuery 中最快的 children() 或 find() 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/648004/

相关文章:

javascript - 在 window.open() 中执行 POST

jquery - 如何使用 jquery 获取相邻标签中子项的子项的值?

jquery - 为什么我的 JQuery 选择器返回 n.fn.init[0],它是什么?

javascript - Ebay 商店设计 JQuery 错误

jquery - 有没有办法让同位素填充固定宽度 div 的所有空白

javascript - 为什么在mvc中使用Ajax.BeginForm

javascript - jquery中的选择器问题

javascript - 对动态元素使用 JQuery 选择器和 "this"

jquery - 如何获取当前选择器之后的元素

javascript - JQuery Slider 动画只发生一个周期