要在 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/