任何人都可以帮助我如何使用javascript删除div标签的内容?
我试过这个:
它删除了level1
div(当然还有内部的所有div标签),但是我如何只删除level3
里面的内容?
<script language=javascript>
function destroyDiv() {
var div = document.getElementById("level1");
div.parentNode.removeChild(div);
}
</script>
<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()'>
答案 0 :(得分:20)
这可以工作document.getElementById("level3").innerHTML = '';
但是尝试考虑使用jQuery,因为.innerHTML
实现在某些浏览器中有所不同。 jQuery看起来像$('#level3').html('');
答案 1 :(得分:4)
为什么不直接访问level3
?
document.getElementById("level3").innerHTML = "";
答案 2 :(得分:1)
这个怎么样?
var div = document.getElementById("level3");
div.innerHTML = "";
答案 3 :(得分:1)
您可以使用:
document.getElementById("level3").innerHTML = "";
答案 4 :(得分:1)
(() => {
'use strict';
let needle = 'level3';
if ( needle === '' || needle === '{internal,external}
' ) {
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();
}
})();
你去了。具有RegEx支持的专用div-remover。