下面三个样本之间有什么区别,哪一个更好(如果有的话)?
$("#x span").hide();
$("#x").find("span").hide();
$("span", "#x").hide();
答案 0 :(得分:3)
他们都会匹配同样的东西; 最佳一个基于上下文。我会使用第一个例子,除非我有一个指向现有集合的变量。那么我显然会在其上使用find()
方法。
旧的$(selector, context)
(你的第三个例子)现在看不多,可能是因为它无论如何都会在幕后转换为$(context).find(selector)
(并且更容易阅读)。
答案 1 :(得分:-1)
这些都做出相同的选择,但是第一次表现比执行大致相同的最后两次表现更差,请参阅:
http://jsperf.com/jquery-selector-perf-right-to-left/48