假设我有一个ul
,其中包含一系列li
。
我将ul
存储为JQuery变量,如var myUl = $("ul")
现在,我想选择li
中包含的所有myUl
。
现在,我意识到在这个具体的例子中我能做到,$(myUl).children();
但是我想知道如何做这样的事情:$(myUl + "li")
并让它有效吗?组合变量和其他文本的语法是什么?
或者我是否必须制作一个显示var newUl = $("ul li")
的新变量?
答案 0 :(得分:6)
myUl.find("li");
或
myUl.children("li");
find
将获得所有后代,而children
只是直接的孩子。
答案 1 :(得分:6)
您需要将myUl
作为context传递给选择器。
$("li", myUl)
示例FIDDLE
引用文档
在内部,选择器上下文是使用.find()方法实现的, 所以$(“span”,this)相当于$(this).find(“span”)。
换句话说,将上下文传递给选择器与执行myUl.find('li')
答案 2 :(得分:1)
所以我刚学会了你可以用这种方式实际使用变量:
<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
对象下搜索li标记。