2014-02-28 23 views
0

假設我有一個div中,我有很多元素,比如這個清除除了幾個要素

<div id="ans" style="background-color: #FFD993; 
    color: #FFF; 
    overflow:auto; 
    border: 1px outset #4f6417; 
    -moz-border-radius: 8px; 
    -webkit-border-radius: 8px;width:100%;text-align: center;height:33%;margin-bottom: 0px;"> 
    <input type="button" id="again" value="See Again"></input> 
    <input type="button" id="prac" value="Practice"></input> 
    <img id="theImg" src="result/' + rand + '.png" width="40%" height="60%"/> 
    <a href="1.html">1</a> 
    <a href="2.html">2</a> 
    <p>This is Paragraph</p> 
</div> 

我想刪除這個div裏面的所有元素,除了這兩個按鈕的div的所有內容。我已經使用

$('#ans').empty(); 

但它會清除它裏面的所有內容。我怎麼能過濾它

回答

7

如何除去輸入的所有孩子?

$('#ans').children(':not(input[type="button"])').remove(); 

FIDDLE

+0

感謝@adeneo它工作正常。 – insanity

2

您可以使用replaceWith()

$('#ans').replaceWith(function() { return $('input', this) }); 

Fiddle Demo


如果你想以保持父div,那麼你可以做像@ adeneo建議:

$('#ans').find(':not(input)').remove(); 
+0

它將刪除給div的樣式 – insanity