2013-04-30 64 views
1

假設我有一個ul,其中包含一系列li用JQuery中的變量子選擇

我保存ul作爲一個jQuery變量,像這樣var myUl = $("ul")

現在我想選擇所有包含在myUlli

現在,我意識到,在這個具體的例子中,我可以做,$(myUl).children();,但我想知道我該如何做這樣的事情:$(myUl + "li")並讓它工作?結合變量和其他文本的語法是什麼?

或者我必須做一個新的變量,說var newUl = $("ul li")

+2

我認爲,如果你解釋你想在真實的使用場景 – 2013-04-30 17:16:52

回答

5

您需要在選擇器中通過myUl作爲context

$("li", myUl) 

樣品FIDDLE

引述文檔

內部,選擇上下文與.find()方法, 所以$實施( 「跨度」,這一點)相當於$(this).find(「span」)。

換句話說,傳遞上下文的選擇是一樣的做myUl.find('li')

6
myUl.find("li"); 

myUl.children("li"); 

find將得到所有的後裔,而children只是直接孩子。

+0

什麼用downvote是做什麼,這將有助於? – 2013-04-30 17:21:58

1

所以我剛剛得知你其實可以使用這種方式的變量:

http://jsfiddle.net/VMM4x/

<ul id="myUl"> 
    <li>hi</li> 
    <li>there</li> 
</ul 

var ul = $('#myUl'); 
var li = $('li', ul); 
li.each(function() { 
    alert($(this).html()); 
}); 

需要明確的是,這將搜索var ul對象下李標籤。