我正在尝试使用:包含选择器和变量,但它似乎并不想接受变量。
$('td:contains('" + value + "')').closest('tr').css('background-color','red');
我试图做的就是使用.each函数循环遍历所有td&,并在其中检查td是否包含值变量,然后将最近的tr背景设置为红色或添加类或什么如初。
我错过了一些明显的东西吗?我部分地认为这与放置引号有关。
答案 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');