jquery:包含使用变量的选择器

时间:2013-03-20 19:17:45

标签: jquery contains

为什么使用变量: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');

5 个答案:

答案 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

这是一个小提琴。

http://jsfiddle.net/CMKsF/

答案 4 :(得分:1)

你需要将它作为字符串传递..所以使用"运算符将var与+连接起来,以便将其作为字符串

试试这个

var $modele = $('h2').text();
//variable doesn't work
$('div:contains("'+$modele+'")').css('background','yellow');