我最近开始喜欢使用这种JQuery选择器模式,我想你可以将其描述为.find()API的语法快捷方式:
$('.some-element', '.within-context')
有关SO here
的讨论无论如何,我发现自己处于这样一种情况,我希望将这个选择器存储为一个变量,我可以在我的脚本中的多个位置使用它。
显然我不能这样做:var selector = '.some-element', '.within-context'
因为只留下一个变量持有'.within-context'
'.some-element, .within-context'
完全不同......
尽管围绕着文档和SO进行了调查,我甚至不确定这是做什么的:$(['.some-element', '.within-context'])
我不确定要尝试什么,我应该制作两个变量吗?
答案 0 :(得分:1)
考虑使用spread operator扩展数组中的$
参数。这样,您可以将选择器组合存储在数组中,稍后将其作为两个不同的参数传递给jQuery构造函数。
例如:
let someSelectorCombo = ['.some-element', '.some-context']; // Store the selector
$(...someSelectorCombo).text('Yay') // Expand the stored selector to two arguments

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="some-context">
<div class="some-element"></div>
</div>
&#13;
答案 1 :(得分:0)
为什么不只是$('.within-context .some-element')
?
或者如果你仍然想使用上下文,你可以使用apply
,但我看不多了点
var selectorWithContext = ['.some-element', '.within-context'];
$.apply(null, selectorWithContext);