删除具有特定名称的div

时间:2019-06-25 19:47:31

标签: javascript jquery html

从下面的代码中,我想在添加另一个实例之前删除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]);
    }
}

3 个答案:

答案 0 :(得分:4)

您可以执行以下操作以删除那些包含.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>

答案 1 :(得分:2)

也许只是这样吗?

$(function() {
  $(".CodeMirror").remove();
});

答案 2 :(得分:0)

使用jQuery可以这样做:

$(".CodeMirror:contains('hello'), .CodeMirror:contains('hii')").remove()
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<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>