2011-07-12 69 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將無法解析選擇器並引發錯誤。 –