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