2016-12-09 50 views
1

我很感興趣,如果有一種方法可以從div中刪除元素。例如,如果我有這樣的事情:刪除Div和Loop中的元素,直到元素存在Javascript

<div id="outer"> 
    <div id="inner"> 
    </div> 
</div> 

在這裏,我會有興趣刪除div #inner。

其次,我知道有一個廢棄的解決方案,使用DOMNodeInserted和Mozilla有類似的東西MutationObserver,但有沒有辦法看看是否存在一個元素?可能還會循環檢查這個檢查嗎?

+0

'如果($( '#內部')。長度){//存在}其他{//不}' – Roberrrt

+1

這個問題聽起來就像你過度簡化您的實際問題;爲什麼你覺得'DOMNodeInserted'或'MustationObservers'是相關的解決方案?您是否以某種方式處理動態內容?你想檢查什麼元素存在?要移除元素,無論使用jQuery還是純JavaScript,都有很多方法可行。 –

回答

1

的jQuery:

$('#outer #inner').remove(); // Which for IDs shortens to $('#inner').remove() 

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

第二個問題...檢查元素是否存在:

if ($('#inner').length){ 
    // Do something 
} 
+0

在你的行中,if($('#inner')。length)'length返回元素的長度?那麼我應該檢查它是否> 0? – Jared

+0

@Jared:'if(anythingNotFalse)'將匹配非零值。你不需要明確地比較0 –

+0

@Jared如果返回長度..這意味着元素存在..你不必做'> 0' ..它也會返回'1',因爲它的一個Id選擇器和'id's'在你的HTML中必須是唯一的。即使你有重複的ID,它仍然只返回1 –

2

如果你沒有得到你的回答,請讓我知道。

remove

$("#inner").remove();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="outer"> 
 
    <div id="inner"> 
 
    </div> 
 
</div>