using:包含带变量的选择器

时间:2016-03-10 11:50:28

标签: jquery

我正在尝试使用:包含选择器和变量,但它似乎并不想接受变量。

$('td:contains('" + value + "')').closest('tr').css('background-color','red');

我试图做的就是使用.each函数循环遍历所有td&,并在其中检查td是否包含值变量,然后将最近的tr背景设置为红色或添加类或什么如初。

我错过了一些明显的东西吗?我部分地认为这与放置引号有关。

2 个答案:

答案 0 :(得分:3)

您需要学习如何将变量转换为字符串。你的解决方案

 $('td:contains("' + value + '")').closest('tr').css('background-color','red');

请参阅反向引号。

在ES2015中(或者在有足够浏览器直接支持的情况下,或者如果您正在进行转换),您可以使用模板字面值,引用反引号,引用变量(或任何其他表达式)使用${...}

 $(`td:contains("${value}")`).closest('tr').css('background-color','red');

答案 1 :(得分:2)

虽然已经发布了答案,但另一种选择是使用.filter()方法:

$('td').filter(function(){
   return $(this).text().indexOf(value) != -1;
}).closest('tr').css('background-color','red');