3

ページに追加する HTML を含む jQuery var があります。

ページに追加する前に HTML 要素を削除する必要がありますが、フィルタリングできないようです。

たとえば、変数には次が含まれます。

<div class="block1"></div>
<div class="block2"></div>

追加する前に、次のようにフィルタリングを試みました。

var mydata = $(mydata).filter('.block1');

var mydata = mydata.filter('.block1');

しかし、これらのどれも機能しません。助言がありますか?

4

5 に答える 5

2

文字列に直接適用されたフィルターは、文字列の結果を返すことがあります。DOM に要素を追加してからフィルターを適用しても安全です。html を DOM の一時要素に割り当て、この一時要素からフィルター処理された項目を取得し、それを目的の要素に割り当てます。

$('#TemporaryElemntToAddHtml').html(mydata);

    $('#ElemntToAddHtml .block1').each(function(){
         $('#ElemntToAddHtml').append($(this));
    });

$('#TemporaryElemntToAddHtml').remove();
于 2012-10-11T16:08:24.127 に答える
1

試す .remove()

$('.block1').remove();

また

var mydata = $(mydata).remove('.block1');
于 2012-10-11T16:03:18.220 に答える
0

spliceネイティブ メソッドを使用して要素のインデックスで削除し、1 項目を削除します。

mydata.splice( mydata.filter('.block1').index(), 1 );

そのスプライスでは、削除された要素が返されるため、 mydata = mydata.splice(..) を追加しないでください。

それ以外の場合は、すでに一部の人が言っているように、jQuery のremoveメソッドを使用してください。

于 2012-10-11T16:14:14.597 に答える
0

.remove 関数を試しましたか?

  var mydata = $('<div class="block1"></div>
                 <div class="block2"></div>');
  mydata.remove('.block1');
于 2012-10-11T16:03:12.600 に答える
0

$.filter は、あなたが思っていることをしません。

http://api.jquery.com/filter/

私は試してみます $(mydata). remove('.block1');

于 2012-10-11T16:04:15.163 に答える