0

我试图在li里面找到所有ul

如果我做

console.log(element);

我在萤火虫中得到了 ul 元素输出。

如果我console.log(element[0]);不确定。

现在尝试找到我所做li的一切:ul

 $('li', element).each(function (index) {
            console.log(index);
});

但是我的索引永远不会被输出。

如果我做:

$('li', element[0]).each(function (index) {
            console.log(index);
            $(this).data('previousIndex', index);
        });

我得到太多的索引计数输出到我的控制台。我的 ul 只有 3-4 li,但我输出了一些错误的计数。

谁能告诉我我的错误?

编辑:

为了提供更多想法,我正在使用可排序插件。这是我执行children(). 我不确定为什么会这样。

在此处输入图像描述

4

2 回答 2

2

我假设element仍然是 DOM 元素<ul>而不是 jQuery 对象。因为如果是,就不element[0]应该是未定义的。

因此,要在 jQuery 上操作 jQuery element,首先将其包装在 jQuery 中,然后用于children('li')获取直接子级<li>find('li')获取所有后代(嵌套)<li>

//find all children li
$(element).children('li');

//find all descendant li (all nested li)
$(element).find('li');
于 2012-05-29T17:35:31.467 回答
1

由于li是 的唯一有效子级ul,因此您只需获取ul'children属性(或.children()jQuery 中的方法调用)。

于 2012-05-29T17:35:23.757 回答