Javascript 将变量用作函数中的选择器

Javascript 将变量用作函数中的选择器,javascript,jquery,Javascript,Jquery,单击后,我想获得最近的div的名称,然后查找所有具有此name属性的div,并向其添加一个类 这是我的密码: HTML: 但它不起作用。那么,我如何使用这里的变量: $("div[name=attrname]").each(function() 以下是:您必须正确连接它 $(`div[name=${attrname}]`).each(function() { 顺便说一下,当查看代码时,在最近的div中没有类.container的属性可用。也要检查一下。您的逻辑有一些问题。首先,.contai

单击后,我想获得最近的div的名称,然后查找所有具有此name属性的div,并向其添加一个类

这是我的密码:

HTML:

但它不起作用。那么,我如何使用这里的变量:

$("div[name=attrname]").each(function()

以下是:

您必须正确连接它

$(`div[name=${attrname}]`).each(function() {

顺便说一下,当查看代码时,在最近的div中没有类
.container
的属性可用。也要检查一下。

您的逻辑有一些问题。首先,
.container
元素没有
name
属性,
.button
有属性,因此您不需要使用
最近的()。其次,需要将实际名称值连接到选择器中。最后,
div
元素没有
name
属性,因此HTML无效。如果要在元素上存储自定义元数据,请改用
data
属性

还要注意的是,您不需要
each()
循环,只需对使用
数据名
属性选择的集合调用
addClass()
。试试这个:

$('.wrapper')。在(“单击”、'.button',函数()上{
var attrname=$(this.data('name');
$('div[data name=“”+attrname+“]”)addClass(“classtobeaded”);
});
.classtobeaded{
背景:红色;
}

这是p#1
其他地方


.container
中没有
attr
名称,因为div元素没有name属性。看不出为什么会获得否决票。有时候我真的希望我们能看到它是谁。@CarstenLøvboAndersen你可以在你怀疑的人的代表中检查-1。@nickzoum我认为你看不到其他用户的代表历史,是吗?@RoryMcCrossan
活动
声誉
,应该是
-1否决
哦,是的,我从来不知道你可以这样做:)谢谢。更新你的答案,因为div元素没有name属性。@DevsiOdedra我在答案中提到过这一点。现在,用户在他的
div
中用一个名称
属性更新了他的问题。谢谢你让我知道这一点。
$("div[name=attrname]").each(function()
$(`div[name=${attrname}]`).each(function() {
$("div[name=" + attrname + "]").each(function() {})
$(`div[name=${attrname}]`).each(function() {})