删除顶级UL

时间:2010-11-17 08:24:47

标签: jquery

<li> </li>   
<li class="wordwrap"></li>

我想删除顶级.ie li上的li而没有一个类,它位于li之上,类为.i,我不想删除任何其他li 1}}?我们怎样才能用Jquery

来做到这一点

4 个答案:

答案 0 :(得分:1)

$(".wordwrap").prev().remove();

答案 1 :(得分:1)

如果我理解正确,您希望删除上一个兄弟 li元素,如果它没有类:

$('li[class]').prev('li:not([class])').remove();

首先选择具有类的所有列表元素。然后选择所有以前没有类的兄弟列表元素并删除它们。

参考:prev():not()

Working Demo使用此HTML:

<ul>
    <li class="a">I will stay.</li>
    <li>I will stay although I have no class</li>
    <li>I will go away.</li>
    <li class="a">I will stay.</li>
    <li>I will go away.</li>
    <li class="a">I will stay.</li>
</ul>

至少这是 I 根据您的描述理解它的方式。但它有点模糊,所以如果不是你想要的,请澄清。

答案 2 :(得分:0)

您可以使用.prev()获取匹配元素集中每个元素的前一个兄弟,可选择由选择器进行过滤。

如果您的<li class="i"></li>是className为i的唯一元素,那么您只需执行以下操作:

$(".li").prev().remove()

但是,如果有许多listName为i的列表元素,那么您需要匹配树中的特定元素:

<ul id="cont">
    <li></li>
    <li class="li"></li> <!-- to reference this use $("#cont .li").get(0) -->
    <li class="li"></li> <!-- to reference this use $("#cont .li").get(1) -->
</ul>

答案 3 :(得分:0)

如果您的空列表项始终是您可以执行此操作的第一个子项:

$(".wordwrap").parent().find("li").first().remove();
相关问题