0

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

UL 在一个名为 ListBox (ListBox = $('#MyList')) 的变量中

我使用了 ListBox.children('li') 但并非所有列表项都是列表的直接子项。其中一些位于列表中的 div 中。

我可以尝试 $('#MyList li') 但我想使用 ListBox 变量

4

2 回答 2

1

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

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

于 2013-10-12T21:15:15.453 回答
0

li是唯一可以有效包含在 a 中的元素ul。如果您的标记是这样的,那么它是无效的,应该更改:

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

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

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

然后你可以简单地使用jQuery的find()方法

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

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

于 2013-10-12T21:16:55.820 回答