2

私は文字列を持っています

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');

しかし、それは機能していません。これに関しては、どの団体にも解決策があります。私にお知らせください

ありがとう

4

3 に答える 3

8

これを試して:

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 文字列を取得する必要があります。

デモ

于 2013-06-12T04:53:05.467 に答える
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;
于 2013-06-12T04:55:58.070 に答える
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));

フィドル http://jsfiddle.net/78m4J/

于 2013-06-12T04:53:25.717 に答える