2010-11-17 20 views
0
<li> </li> 
<li class="wordwrap"></li> 

я хочу, чтобы удалить li на верхнем уровне .ie li без класса, который проживает только на вершине li с классом .и не хочу, чтобы удалить какой-либо другой li? Как мы можем это сделать с помощью JQueryУдалить верхний уровень UL

+0

Что вы имеете в виду * верхний уровень *? –

ответ

1

Если я понимаю, что вы Corre ctly, вы хотите, чтобы удалить элемент предыдущих родственный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> 

По крайней мере, это то, как я понял его на основе вашего описания. Но это немного расплывчато, поэтому, если это не то, что вы хотите, просим пояснить.

0

Вы можете использовать .prev(), чтобы получить непосредственно предшествующий родственный элемент каждого элемента в наборе согласованных элементов, необязательно отфильтрованный селектором.

Если <li class="i"></li> единственный элемент с Classname из i, то вы просто сделать:

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

Однако, если есть много элементов списка с Classname из 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> 
+0

Можете ли вы привести пример кода? Tnx – 2010-11-17 08:28:38

+0

@George, вот почему вы получили документированную ссылку, там вы увидите много примеров кода. – jolt

0

если ваш пустой элемент списка всегда первый ребенок, которого вы могли бы сделать это:

$(".wordwrap").parent().find("li").first().remove();