我有一个存储在变量中的jQuery选择器,如下所示:
var myVariable = $( ".js-selector" );
我想知道是否以及如何使用此变量来选择此元素的子代,而不是编写:
$( ".js-selector .some-child" );
我该怎么做呢?
我还想知道,即使我将其与其他选择器一起扩展,使用缓存的选择器是否也可以获得一些性能优势?
您可以在jQuery返回的对象上使用find()来获取变量中包含的对象的后代。
var descendants = myVariable.find(".some-child");
通过将上下文与选择器jQuery(selector [,context])传递,可以使用另一种语法。尽管这会转换为查找调用,所以最好使用上述调用。
var descendants = $(".some-child", myVariable);
使用兑现对象可以为您提供更好的性能,但是可能很少注意到它。您可以使用此jspref网站来比较性能。
我已经进行了实时jspref测试,以比较使用parent作为对象和在selector中使用parent的选择器性能。此测试显示您拥有的第一种方法,即如果我们首先在对象中获取父级并使用find来获取后代,则父级后代选择器的速度要慢28%左右。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句