How can I remove the content of a div tag using JavaScript?
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?
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()'>
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('');
为什么不直接访问level3
?
document.getElementById("level3").innerHTML = "";
您可以使用:
document.getElementById("level3").innerHTML = "";
(() => {
'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.
How about this?
var div = document.getElementById("level3");
div.innerHTML = "";
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.