javascript - 删除没有内部内容Javascript的内部html标签

标签 javascript jquery

删除没有内部内容 Javascript 的内部 html 标签。我的 html 结构如下,未定义的 div 计数:

 <div>
    <div>
      <div>
        <div>~Content 1~</div>
    </div>
  </div>
</div>

如何删除所有 div 标签,除了结果必须如下:

<div>~Content 1~</div>

最佳答案

在 Vanilla 中使用 document.querySelectorAll

var divs = document.querySelectorAll("div");

//just check all divs, if the length of children is 0. there are no more descendants.
Array.prototype.forEach.call(divs, function(element){
if (element.querySelectorAll("div").length == 0)
{
  //only for demo purposes. the element found is the last descendant.
  document.querySelector(".result").textContent += element.outerHTML;
}
});
<div>
    <div>
      <div>
        <div>~Content 1~</div>
        <div>~Content 2~</div>
        <div>~Content 3~</div>        
    </div>
  </div>
</div>

<pre class="result"></pre>

关于javascript - 删除没有内部内容Javascript的内部html标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47411621/

相关文章:

jquery - 取消选择所有 jquery 选项卡时遇到问题

javascript - slider 计数器长度两位数

javascript - 单击、拖动和调整大小事件混合在一起

javascript - 使用javascript制作简单的计时器但出现奇怪的行为

javascript - Polymer 和 Three.js

javascript - 将 PDF 附加到 ionic 中的电子邮件编辑器

javascript - 将表单中的数据存储到 Javascript 变量中

java - 如何获取具体日期?

javascript - 使用 PHP 登录 Google+

javascript - jQuery-bootgrid - 预选 rowCount