0

私には解決策があります:

var addContent = {
...
append: function (obj, data, callBack) {
        "use strict";
        obj.append(data);
        callBack();
    }
}

「addContent.append()」関数は、そのデータパラメータ値をそのobjに追加し、そのcallBack()を呼び出します。これも機能しています。ただし、「objパラメータ」はDOMに含まれていないため、「データパラメータ」で見つかった要素は使用できません。

例えば:

var to = jQuery('<div>');
addContent.append(to, '<div id="element1"></div>', function () {
    alert(jQuery('#element1').length);
});

このコードは「0」です。

解決策はありますか?

ありがとう!

4

2 に答える 2

0

あなたの質問を正しく理解した場合、問題は、によって参照される要素toがDOMにないため、追加された要素を選択しようとすると、それらが見つからないことです(親がドム)。

あなたが望んでいるのはコンテキスト引数だと思います:

alert(jQuery('#element1', to).length);

#element1これにより、 の子孫である一致する要素が選択されますto

于 2012-05-22T12:00:50.040 に答える
0

ドキュメントレディ機能を利用する

jQuery(document).ready(function(){
    var addContent = {
    append: function (obj, data, callBack) {
            "use strict";
            obj.append(data);
            callBack();
        }
    }
    var to = jQuery('div');
    addContent.append(to, '<div id="element1">545</div>', function () {
        alert(jQuery('#element1').length);
    });
});
于 2012-05-22T12:08:09.673 に答える