Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以将变量添加到jquery选择函数中_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 是否可以将变量添加到jquery选择函数中

Javascript 是否可以将变量添加到jquery选择函数中,javascript,jquery,html,css,Javascript,Jquery,Html,Css,您好,我想选择与$id变量同名的类的div 如果我自己添加div id,一切都正常,但我希望它基于我的$id变量 这是可能的,还是有更好的方法根据单击的按钮来定位正确的div $('.checkbox-group').find('input[value=button]').click(function() { //find all buttons with value=button var $toggle = $(this); //add buttons in variable $toggl

您好,我想选择与$id变量同名的类的div

如果我自己添加div id,一切都正常,但我希望它基于我的$id变量

这是可能的,还是有更好的方法根据单击的按钮来定位正确的div

$('.checkbox-group').find('input[value=button]').click(function() { //find all buttons with value=button

var $toggle = $(this); 
//add buttons in variable $toggle

var $id = $( this ).attr('id');                                     
//add the clicked button´s ID in the variable $id

if ($toggle.prop('checked') === true) {                             
//if the clicked button is checked 

$('#my-grp div.$id').removeClass('kill');                       
//want to select the div with Class that have same name as my $id variable

} else {
//and then add or remove the class .kill

$('#my-grp div.$id').addClass('kill');                          
}
});

解决方案只是一个简单的字符串连接:)


jQuery不会处理字符串引号中的变量,应该将其连接起来

与此相反:

$('#my-grp div.$id').removeClass('kill');
写下:

$('#my-grp div.' + $id).removeClass('kill');

编辑:哎呀,看起来有人更快了:)

你可以压缩字符串和变量。在您的情况下,类似这样的情况:

$('#my-grp div.' + $id ).removeClass('kill');
旁注: javascript中的变量不需要
$
。在您的情况下,
id
将是存储字符串的更好的变量名


$
通常用于存储jquery元素,例如
$toggle

包含一些示例HTML,以便我们可以看到您的代码试图执行的操作。这是JavaScript而不是PHP。您不需要在var前面加上
$
,而且它在字符串中看不到您的变量。您需要连接,就像答案中一样。谢谢您快速简单的回答:D
$('#my-grp div.' + $id ).removeClass('kill');