我正在编写很多代码,其中使用相同的选择器,但例如它们的片段
$('#menu > div.container a')
和
$('#menu span.highlight')
是否有任何方法可以在变量中包含“#menu”并使用它?我对字符串连接的问题是,它要求人们对其使用非常严格,因为即使缺少一个空格也会把事情搞砸。我宁愿做的是如下所示:
var menuSelector = '#menu';
$('{menuSelector} > div.container a')
$('{menuSelector} span.highlight')
我查了文档,不存在这样的功能。实现此类功能的问题是 jQuery 需要在调用者的上下文中进行评估。这在 JavaScript 中可能吗?其次,我该如何自己实现这个功能?
最佳答案
使用节点缓存,以便更快地评估节点(从缓存的上下文开始搜索)
$menu = $('#menu');
$menu.children('div.container a')
$menu.find('span.highlight');
关于javascript - 选择器中的 JQuery 变量没有字符串连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4144246/