在JQuery中使用变量进行子选择

时间:2013-04-30 17:15:16

标签: jquery

假设我有一个ul,其中包含一系列li

我将ul存储为JQuery变量,如var myUl = $("ul")

现在,我想选择li中包含的所有myUl

现在,我意识到在这个具体的例子中我能做到,$(myUl).children();但是我想知道如何做这样的事情:$(myUl + "li")并让它有效吗?组合变量和其他文本的语法是什么?

或者我是否必须制作一个显示var newUl = $("ul li")的新变量?

3 个答案:

答案 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)

所以我刚学会了你可以用这种方式实际使用变量:

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对象下搜索li标记。