为什么使用变量:contains()不起作用?有没有办法使它工作? filter('contains()')
也没有工作。
<h2>Test</h2>
<div>Test</div>
var model = $('h2').text();
//variable doesn't work
$('div:contains(model)').css('background','yellow');
//obviously, string works
$('div:contains("Test")').css('background','yellow');
答案 0 :(得分:12)
选择器不使用Javascript变量。您必须将变量中的值放在选择器字符串中:
$('div:contains("' + $modele + '")')
答案 1 :(得分:5)
与PHP不同,Javascript不支持字符串插值。
如果要在字符串中使用变量,则必须使用+
运算符连接。
答案 2 :(得分:5)
它只是一个连接问题:
$('div:contains(' + $modele + ')').css('background','yellow');
答案 3 :(得分:1)
如@Slaks中所述回答您需要连接。
$('div:contains('+$modele+')').css('background','yellow'); works
这是一个小提琴。
答案 4 :(得分:1)
你需要将它作为字符串传递..所以使用"
运算符将var与+
连接起来,以便将其作为字符串
试试这个
var $modele = $('h2').text();
//variable doesn't work
$('div:contains("'+$modele+'")').css('background','yellow');