2012-04-13 36 views

回答

7

假定期望的結果是<div id="main"><ul></ul></div>和你想保留的所有<ul> S(或如果只有一個):

$('#main').html($('#main ul'));​​​​​​​​​​​​​​​​​​​​ 

演示:http://jsfiddle.net/pEvNt/

$('#main').not('ul').remove()不會工作,因爲它會刪除e的ul父母和ul與他們(見http://jsfiddle.net/h67Ge/)。

+0

+1爲滿分5分的唯一工作答案! – 2012-04-13 14:52:39

+0

+1來自我:)很好的答案。 – 2012-04-13 14:54:39

+1

+1,聰明的回答。 – undefined 2012-04-13 14:58:30

1

嘗試:

$('#main').children().not('ul').remove(); 
+2

的'ul'不是'#main'一個孩子所以這是行不通的。 – 2012-04-13 14:49:22

+0

@JamesAllardice不錯,我正在嘗試一種不同的方法。 – 2012-04-13 14:50:29

0

能做到這一點

$('#main ul').detach().prependTo('#main').siblings().remove(); 
0
$("ul", "#main").appendTo($("#main")).siblings().remove(); 

FIDDLE