这些jQuery选择器之间有什么区别吗?

| 以下三个示例之间有什么区别,哪个更好(如果有)?
$(\"#x span\").hide();

$(\"#x\").find(\"span\").hide();

$(\"span\", \"#x\").hide();
    
已邀请:
他们都将匹配同一件事。最好的是基于上下文。除非我有一个指向现有集合的变量,否则我将使用第一个示例。那么我显然会在上面使用
find()
方法。 这些天来,旧的
$(selector, context)
(您的第三个示例)并不多见,可能是因为无论如何它都会转换为幕后的
$(context).find(selector)
(并且更容易阅读)。     
这些都进行相同的选择,但是前者的性能要比后两者的性能差得多,后者的性能大致相同,请参见: http://jsperf.com/jquery-selector-perf-right-to-left/48 http://jsperf.com/jquery-selector-context-vs-find http://jsperf.com/jquery-selector-performance/11     

要回复问题请先登录注册