2015-06-14 41 views

回答

2

嗯,你的實際需要來設置選擇jQuery的方式,例如

varONE = $("td.class1"); 
varTWO = $("td.class2"); 

$('table').find(varONE,varTWO).css('background', 'red'); 

然後你的腳本就可以工作了。

你也可以使用一個連接字符串

varONE = "td.class1"; 
varTWO = "td.class2"; 

$('table').find(varONE + "," + varTWO).css('background', 'red'); 

,它也將正常工作。我向你推薦第一個解決方案,因爲它更乾淨,但你可以選擇。

+0

沒有這些工作http://jsfiddle.net/zqu3eqfm/498/ – MShack

+0

@MShack你需要調用這些函數返回的結果。 $('。two_column_layout')。find(getPlayerByeQuery()+','+ getPlayerQuery()).css('background','red');' - 工作得很好。 – Oka

+0

ty,忘了()每一個 – MShack

3

你需要的字符串本身在逗號狀

$('table').find('td.class1,td.class2').css('background', 'red'); 

varONE = "td.class1"; 
varTWO = "td.class2"; 

$('table').find(varONE+','+varTWO).css('background', 'red'); 

find()唯一的重載是selector)或元素。然而,沒有哪個接受多個selectors作爲單獨的參數

過載( 蜇傷
1

相同連接字符串

$('table').find(varONE + ',' + varTWO).css('background', 'red'); 
1

正如其他人所說,.find方法不採用多個選擇器字符串。

如果您想以這種方式使用.find,您可以創建自己的方法。

$.fn.argfind = function() { 
 
    return this.find(Array.prototype.join.call(arguments)); 
 
}; 
 

 
var one = "td.class1", 
 
    two = "td.class2"; 
 

 
$('table').argfind(one, two).css('background', 'red');
<table> 
 
    <tr> 
 
    <td class="class1">Example</td> 
 
    <td>Text</td> 
 
    </tr> 
 
    <tr> 
 
    <td>Example</td> 
 
    <td class="class2">Text</td> 
 
    </tr> 
 
</table> 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

相關問題