2010-10-16 59 views
7

我正在使用Jquery通過變量查找類。所以,Jquery從變量中選擇類

var className = "whatever"; 

$( 「#集裝箱UL禮」),如果包含元素與類名,這樣做

我怎樣寫上面的代碼?

是否

$("#container ul li").find("."+ className).each(function(){ 
console.log("I found one"); 
}); 

顯然代碼不起作用

回答

18

是在<li>元素的className?如果是這樣,你可以這樣做:

$('#container ul li.' + className)... 

你只是串接的className到選擇的字符串(與the class selector)。

或者這會給你同樣的結果。

$('#container ul li').filter('.' + className)... 

哪一個是類似於您.find()的解決方案,但uses .filter()限制發現那些與className<li>元素。


如果與className的元素是<li>元素的後裔,那麼using .find()應該工作,或者你可以這樣做:

$('#container ul li .' + className)... 

...這看起來幾乎相同,如上圖所示,但在li之後引入空格,即a descendant selector

+0

過濾器解決方案有效。感謝您澄清find()用於發現後代! – 2010-10-16 23:52:40

+0

@RisingSun - 不客氣。 :O) – user113716 2010-10-16 23:56:53