Javascript 带有类和变量id的jquery选择器

Javascript 带有类和变量id的jquery选择器,javascript,jquery,Javascript,Jquery,我在变量中有一个元素id,比如elementId。现在我想从一个类中选择元素,比如说。控件菜单,它的id等于元素id 我正在像这样尝试 $('.control-menu "#"+elementId') 我得到语法错误。有人能告诉我正确的方法吗?您可以使用: $('#' + elementId + '.control-menu'); id是唯一的;首先选择by,然后检查它是否有匹配的类名 顺便说一句,您的原始选择器正在搜索id为的元素,该元素具有类为.control menu的祖先元素 如果您

我在变量中有一个元素id,比如elementId。现在我想从一个类中选择元素,比如说。控件菜单,它的id等于元素id

我正在像这样尝试

$('.control-menu "#"+elementId')
我得到语法错误。有人能告诉我正确的方法吗?

您可以使用:

$('#' + elementId + '.control-menu');
id是唯一的;首先选择by,然后检查它是否有匹配的类名

顺便说一句,您的原始选择器正在搜索id为的元素,该元素具有类为.control menu的祖先元素

如果您正在搜索的id为的元素是另一个具有.control菜单类的元素的子元素,则:

我建议:

$('#' + elementId + '.control-menu');
相配

id是唯一的;首先选择by,然后检查它是否有匹配的类名

顺便说一句,您的原始选择器正在搜索id为的元素,该元素具有类为.control menu的祖先元素

如果您正在搜索的id为的元素是另一个具有.control菜单类的元素的子元素,则:

相配

或者干脆

$('#'+elementId);

因为您有一个id,所以可以使用id选择器,因为元素的id是唯一的

$('#'+elementId)
简单到:

 $('#'+ elementId )
由于ID在页面中已经是唯一的,所以根本不需要该类

您的问题标题是:带有类和变量id的jquery选择器

如果要选择与所需变量ID同名的类,请选择:

$('.control-menu .'+ elementId )
//               ^------------------ note the class selector
否则,我重复一遍,在一个页面中不能有多个ID元素。

试试这个

$('.control-menu #'+elementId)

尝试使用$+elementid+”。control-menu“您是在另一个具有类控制菜单的元素中查找具有该ID的元素,还是在查找具有该ID且本身也具有类控制菜单的元素?是的,您在查找什么?你的问题真的很模糊,它不符合OP代码的要求,也就是说,仅当元素位于具有control menu类的某个对象内时才查找该元素,而不是查找具有control menu类的对象。我阅读了描述,认为希望从具有类名的元素集合中查找具有该id的元素。如果元素出现在dom中的某个特定位置,我能想到的唯一原因是,如果您想做些什么。。。。还有其他原因吗?通过id和类查找元素的原因可能是检查该元素的“状态”,因为JavaScript更改类名以反映交互或缺少交互,或者在特定条件下仅在特定页面上查找该元素。
 $('#'+ elementId )
$('.control-menu .'+ elementId )
//               ^------------------ note the class selector
$('.control-menu #'+elementId)