我有一个解决方案:
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”。
你有解决方案吗?
谢谢!
答案 0 :(得分:0)
如果我正确理解了您的问题,问题是to
引用的元素不在DOM中,因此当您尝试选择已附加到其中的元素时,找不到它们(因为他们的父母不在DOM中)。
我认为你可能想要的是背景论证:
alert(jQuery('#element1', to).length);
这将选择与#element1
的后代匹配的to
元素。
答案 1 :(得分: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);
});
});