JQuery变量在选择器中没有字符串连接

Tah*_*san 2 javascript jquery jquery-selectors

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

$('#menu > div.container a')
Run Code Online (Sandbox Code Playgroud)

$('#menu span.highlight')
Run Code Online (Sandbox Code Playgroud)

是否有任何方法在变量中使用'#menu'并使用它?我对字符串连接的问题在于它需要对它的使用进行极端的训练,因为即使是一个缺失的空间也会使事情变得混乱.我宁愿做的是下面的事情:

var menuSelector = '#menu';
$('{menuSelector} > div.container a')
$('{menuSelector} span.highlight')
Run Code Online (Sandbox Code Playgroud)

我检查了文档,这样的功能不存在.实现这样一个特性的问题是jQuery需要在调用者的上下文中进行评估.这可能在JavaScript中吗?其次,我如何自己实现此功能?

小智 6

使用节点缓存,以便更快地评估节点(从缓存的上下文开始搜索)

$menu = $('#menu');

$menu.children('div.container a')
$menu.find('span.highlight');
Run Code Online (Sandbox Code Playgroud)