2011-04-29 87 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>

相关问题