0

要素内に div を追加するためにこの関数を使用しています。

(function() {
        $('.p-item').append('<div class="p-info-wrap"></div>)';
}) ();

同じページに「quicksand」プラグインを使用してフィルター可能なギャラリーもあります。ギャラリー内には、上記のクラス (p-item) を持つ要素があります。ギャラリーを並べ替えると、コンテンツが変化し、追加された div の上に突然消えます。

ギャラリーがソートされていても、div を維持するのを手伝ってください。

よろしく。

4

3 に答える 3

0

ソート処理の最後にこの関数を呼び出します

function addDiv() {
  $('.p-item').append('<div class="p-info-wrap"></div>)';
}
于 2013-01-04T17:05:13.750 に答える
0

クイックサンドがソート後のイベントなどのフックを提供するかどうかはわかりませんが、この問題を解決できる一般的な方法を次に示します。

var doMod = true;
$('#tree')[0].addEventListener('DOMSubtreeModified', function() {
    if (!doMod) { return; }
    doMod = false; // Supress handling of subtree event
    $('#tree').append('foo');    
    doMod = true; // Restore the doMod flag
});

$('#tree').html('<p>New content</p>');

例: http://jsfiddle.net/8dUSJ/

ただし、「DOMSubtreeModified」イベントは非推奨であり、 Mutation オブザーバーに取って代わられることになっています。後者についてはあまり知識がないので、ドキュメントを参照してください。疑わしいブラウザのサポートがあるようです。

編集:

これについて明確にするために、上記の解決策は DIV を「存続」させません。並べ替え後にのみ読み取りを許可します。

于 2013-01-04T17:13:29.087 に答える
0

の最後にあるコードに問題がありますappend()'の内側ではなく外側にありappend()ます。

(function() {
    $('.p-item').append('<div class="p-info-wrap"></div>)';
})();        //------------------------------------------^-----here is the issue.

これを試してください:http://jsfiddle.net/T8VC4/

(function() {
    $('.p-item').append('<div class="p-info-wrap"></div>');
})();
于 2013-01-04T17:29:47.553 に答える