javascript - 选择器中的 JQuery 变量没有字符串连接

标签 javascript jquery jquery-selectors

我正在编写很多代码,其中使用相同的选择器,但例如它们的片段

$('#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/

相关文章:

jquery - 使用 Jquery,将表中的一行替换为新行

jQuery 选择=(等号)之后的最后一个单词

javascript - 如何使用 jQuery 的 .not 和 :contains in case of multiple values?

javascript - Angularjs 将 ng-options 与过滤器一起使用,而不从过滤器中删除选项

javascript - ReactJS - 使用 Material UI 网格间距

javascript 函数在其他文件中不起作用

javascript - 克隆div的特定内容并放入其他div

javascript - 为什么 script.onload 在 Chrome 用户脚本中不起作用?

javascript函数在没有被调用的情况下运行

javascript - 有没有 jQuery "blur"和 "focus"函数的替代方案?