简体   繁体   中英

How to remove div tag content?

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM