Javascript 如何删除div标签内容?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/5908987/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
How to remove div tag content?
提问by holian
How can I remove the content of a div tag using JavaScript?
如何使用 JavaScript 删除 div 标签的内容?
I have tried some code, but it only removes the level1
div (and of course all o it childern), but how can I remove only the content in level3
inside?
我已经尝试了一些代码,但它只删除了level1
div(当然还有所有的 o it childern),但是我怎样才能只删除level3
里面的内容?
function destroyDiv() {
var div = document.getElementById("level1");
div.parentNode.removeChild(div);
}
<div id="level1">
<div id="level2">
<div id="level3">
<label> Test content </label>
</div>
</div </div>
<div id=blahDiv>Remove me</div>
<input type=button value='Remove the div' onclick='destroyDiv()'>
回答by DanielB
This sould work document.getElementById("level3").innerHTML = '';
but try thinking about using jQuery, because .innerHTML
implementation differs in some browsers. jQuery would look like $('#level3').html('');
这可行,document.getElementById("level3").innerHTML = '';
但请尝试考虑使用 jQuery,因为.innerHTML
某些浏览器的实现方式不同。jQuery 看起来像$('#level3').html('');
回答by ?a?da?
Why don't you access directly level3
?
为什么不直接访问level3
?
document.getElementById("level3").innerHTML = "";
回答by Billy
You can use:
您可以使用:
document.getElementById("level3").innerHTML = "";
回答by javascript-noob
(() => {
'use strict';
let needle = 'level3';
if ( needle === '' || needle === '{{1}}' ) {
needle = '.?';
} else if ( needle.slice(0,1) === '/' && needle.slice(-1) === '/' ) {
needle = needle.slice(1,-1);
} else {
needle = needle.replace(/[.*+?^${}()|[\]\]/g, '\$&');
}
needle = new RegExp(needle);
const divnode = ev => {
if (ev) { window.removeEventListener(ev.type, divnode, true); }
try {
const divs = document.querySelectorAll('div');
for (const div of divs) {
if (div.outerHTML.match(needle)) {
div.remove();
}
}
} catch(ex) {
}
};
if (document.readyState === 'loading') {
window.addEventListener('DOMContentLoaded', divnode, true);
} else {
divnode();
}
})();
There you go. A dedicated div-remover with RegEx support.
你去吧。具有 RegEx 支持的专用 div-remover。
回答by Harry Joy
How about this?
这个怎么样?
var div = document.getElementById("level3");
div.innerHTML = "";