如何刪除main
內的所有內容除了ul
元素?jQuery刪除除div之外的其他兒童
<div id="main">
<div id="a">
<div id="b">
<div id="c"></div>
<div id="d"></div>
<div id="e">
<ul></ul>
</div>
</div>
</div>
</div>
如何刪除main
內的所有內容除了ul
元素?jQuery刪除除div之外的其他兒童
<div id="main">
<div id="a">
<div id="b">
<div id="c"></div>
<div id="d"></div>
<div id="e">
<ul></ul>
</div>
</div>
</div>
</div>
假定期望的結果是<div id="main"><ul></ul></div>
和你想保留的所有<ul>
S(或如果只有一個):
$('#main').html($('#main ul'));
做$('#main').not('ul').remove()
不會工作,因爲它會刪除e的ul父母和ul與他們(見http://jsfiddle.net/h67Ge/)。
嘗試:
$('#main').children().not('ul').remove();
的'ul'不是'#main'一個孩子所以這是行不通的。 – 2012-04-13 14:49:22
@JamesAllardice不錯,我正在嘗試一種不同的方法。 – 2012-04-13 14:50:29
能做到這一點
$('#main ul').detach().prependTo('#main').siblings().remove();
$("ul", "#main").appendTo($("#main")).siblings().remove();
+1爲滿分5分的唯一工作答案! – 2012-04-13 14:52:39
+1來自我:)很好的答案。 – 2012-04-13 14:54:39
+1,聰明的回答。 – undefined 2012-04-13 14:58:30