2011-04-29 86 views
2

是否可以使用Javascript/jQuery/Ajax直接從標記中刪除/刪除HTML元素,而不是使用CSS display: none有沒有辦法使用Javascript完全刪除HTML元素?

+4

只是作爲一個有點迂腐,但你不完全從標記刪除它 - 你FR取出文檔對象模型。標記只是通過電線傳輸的文本。 – Neall 2011-04-29 16:15:12

回答

8

的JavaScript

var parent = document.getElementById('parentElementID'); 
var child = document.getElementById('childElementID'); 
parent.removeChild(child); 

jQuery的

$('#parentElementID').remove('#childElementID'); 
+2

甚至更​​簡單'$('#childElementId')。remove()' – kapa 2011-04-29 16:05:38

+0

同意,希望更具描述性。總是建議儘可能重構。 – 2011-04-29 16:06:57

+3

或「香草」js,而不需要「知道」父元素'child.parentNode.removeChild(child)' – Andreas 2011-04-29 16:32:36

7
element.parentNode.removeChild(element) 
2

本地JavaScript:

var toremove = document.getElementById('hd'); 
    toremove.parentNode.removeChild(toremove); 

或者jQuery中只使用

$('#toremove').remove(); 
2

這是一個老問題,所以答案是有些過時。它曾經是,要刪除一個元素,你有父節點,元素,並使用removeChild(),其他建議:

element.parentNode.removeChild(element);  

雖然這仍是完全可以接受的,你現在可以直接刪除該節點:

document.getElementById('elementId').remove(); 

document.getElementById('remove-button').addEventListener('click', function() { 
 
    document.getElementById('container').remove(); 
 
});
#container { 
 
    width:50px; 
 
    height:50px; 
 
    background-color:#bada55; 
 
}
<div id="container"></div> 
 
<button id="remove-button">Remove</button>

相關問題