作为jQuery代码(https://coderwall.com/p/7uchvg)的示例,我读到$('#foo a');表达式的行为如下:



而且看起来效率不高。

那是对的吗?如果是的话,我们应该如何以更好的方式做到这一点?

最佳答案

没错-Sizzle(jQuery的选择器引擎)表现为same way as CSS selectors。 CSS和Sizzle选择器是evaluated right-to-left,因此#foo a将找到所有a节点,然后按从#foo降级的节点过滤那些节点。

您可以通过确保叶子选择器具有高度的特异性来改善这一点,通常是通过给它们选择一个类或ID。

09-25 17:03
查看更多