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

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-23 19:27:37  来源:igfitidea点击:

How to remove div tag content?

javascript

提问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 level1div (and of course all o it childern), but how can I remove only the content in level3inside?

我已经尝试了一些代码,但它只删除了level1div(当然还有所有的 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 .innerHTMLimplementation 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 = "";