我有一个字符串
var c = '<div class="main">
<div class="child1">text 1</div>
<div class="child1">text 2</div>
<div class="child2">text 2</div>
</div>';
现在我只想从此字符串中删除child2
..
我试过这个
var $c = $(c).not('child2');
但它不起作用 任何机构都有解决方案。请让我知道
由于
答案 0 :(得分:6)
试试这个:
var c ='<div class="main"><div class="child1"> text 1</div><div class="child1"> text 2</div><div class="child2"> text 2</div></div>';
var $c = $(c); //Get the JQ object to a var
$c.find('.child2').remove(); //Remove it from there
c = $c.html(); //Get back the html
不幸的是
$(c).find('.child2').remove()
不会在源代码中删除它,因为它不在DOM中,只是一个字符串。因此,您需要将对象转换为临时变量,然后将其从中移除并从中取回html字符串。
答案 1 :(得分:0)
先使用$.parseHTML
然后删除
var c ='<div class="main"><div class="child1"> text 1</div><div class="child1"> text 2</div><div class="child2"> text 2</div></div>';
c=$.parseHTML(c);
$(c).find('.child2').remove();
console.log($(c));
答案 2 :(得分:0)
没有jquery:
var tempDiv = document.createElement('div');
var c ='<div class="main"><div class="child1"> text 1</div><div class="child1"> text 2</div><div class="child2"> text 2</div></div>';
var removableChild = tempDiv.getElementsByClassName("child2")[0];
removableChild.parentElement.removeChild(removableChild);
var c = tempDiv.innerHTML;