我想知道jquery在内部是如何工作的。例如,我想知道jquery选择器如何在引擎盖下工作?它是否遍历所有DOM元素?或者它有另一种寻找元素的神奇算法?
它与.find()和.filter()函数有什么不同?
你们有什么想法吗?
答案 0 :(得分:0)
jquery也是如此:
for each element in given subtree/input set do
if element matches selector do
add element to output set
end if
end for
return output set
因此该任务的计算复杂度为O(N)
其中N是输入集中的多个DOM元素。
一般而言,可能的技巧/优化很少 它就像那样复杂。
有些jQuery选择器的复杂性更低,例如:
$( "li:has(ul)")
选择器的计算复杂度为O(N*N)
所以要小心使用。