首页 > 解决方案 > 删除具有特定名称的 div

问题描述

从下面的代码中,我想删除以前的 codemirror 实例,即“hello”和“hii”,然后才能添加另一个实例。jQuery 不工作。

另外,如果我console.log($('#source').hasClass('.CodeMirror.cm-s-default'));总是显示错误,那就是找不到类名。

我怎样才能做到这一点?

如果这是我的 html 代码:

<div class = "source" id="source" name="source">
  <div class="result" id="result">
  <div class="CodeMirror cm-s-default">hello</div>
  <div class="CodeMirror cm-s-default">hii</div>
  </div>
</div>

而我的javascript,jquery是:

var first = document.getElementById("source").getElementsByClassName("CodeMirror cm-s-default");
var len1 = first.length;
for(var i = 0; i < len1; i++) {
    if(first[i].className == "CodeMirror cm-s-default") {
        first[i].parentNode.removeChild(first[i]);
    }
}

标签: javascriptjqueryhtml

解决方案


您可以这样做以删除那些包含.CodeMirror为的元素class

javascript:

document.querySelectorAll(".CodeMirror").forEach(el => el.remove());
<div class="source" id="source" name="source">
  <div class="result" id="result">
    <div class="test">Not to remove</div>
    <div class="CodeMirror cm-s-default">hello</div>
    <div class="CodeMirror cm-s-default">hii</div>
  </div>
</div>


推荐阅读