2013-10-12 165 views
0

我想选择我的UL的所有列表项。jQuery后代选择

的UL是一个变量称为列表框(列表框= $(“#MYLIST”))

我用ListBox.children(“礼”),但不是所有的列表项列表的直接孩子。其中一些在列表中的div中。

我可以尝试$(“#MYLIST礼”),但我想用列表框变量

回答

1

尝试使用ListBox.find('li');

.find()方法允许我们通过这些元素的后代搜索DOM树并从匹配元素构造一个新的jQuery对象。

0

li是可以有效地包含在ul内的唯一元素。如果您的标记是这样那么它是invalid和应改为:

<ul id="MyList"> 
    <div> 
     <li></li> 
    </div> 
</ul> 

但是,如果你的标记更是这样的:

<ul id="MyList"> 
    <li> 
     <div> 
      <ul> 
       <li></li> 
      </ul> 
     </div> 
    </li> 
</ul> 

然后,你可以简单地使用jQuery's find() method

var ListBox = $('#MyList'); 
ListBox.find('li'); 

请注意,find()将适用于第一个示例,但您需要修复您的HTML以使其在所有设备上均可用并可访问。出于这个原因,你最终可能只需要children()