2011-07-12 32 views
4
window.something.updateStatus = function(theName) { 
    $('#myTable').children('tr').remove(":contains('theName')"); 
}; 

很显然,上面的方法不起作用,因为它在myTable中寻找一个名为“theName”的字符串。将一个变量传递给:contains选择器

我想要做的是将名称的值传递给包含。

如何评估此表达式?

谢谢。

回答

9

这是未经测试,但应该工作:

window.something.updateStatus = function(theName) { 
    $('#myTable').children('tr').remove(":contains('" + theName +"')"); 
}; 

本质上,它消除了可变theName从字符串,但仍引用该值(一次变量的插值),这就是为什么有一个开放和闭合,'连接运算符的变量和+

+0

好的,这是有道理的。双/单引号组合把我扔了!谢谢。 – nocarrier

+1

我们应该提供通常的注意事项:如果'theName'字符串偶然包含单引号,那jQuery将无法解析选择器并引发错误。 –