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 中,因此当您尝试选择已附加到它的元素时,找不到它们(因为它们的父级不在DOM)。

我认为您可能想要的是上下文参数:

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

这将选择#element1to.

于 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 回答