未捕获的TypeError:无法读取未定义的属性“ownerDocument”
我正在教自己AJAX到AJAXify我的网站。 在我的模板中,我有以下JS代码从视图中获取一些JSON数据,然后将数据附加到div。
function filter(type) { $.getJSON( '/activity_stream/global-activity-stream/', {xhr: "true", filter: type}, function(data) { $('.mainContent').children().remove(); $(data).appendTo('.mainContent'); }); } $(".btn").click(function () { filter("recent"); }); }
我认为我的视图返回正确的JSON,但现在数据没有被添加到.mainContent
div。
它给出了这个错误:
未捕获的TypeError:无法读取未定义的属性“ownerDocument”。
确保您将选择器传递给jQuery,而不是某种forms的数据:
$( '.my-selector' )
不:
$( [ 'my-data' ] )
我有一个类似的问题。 我使用的是jQuery.map,但我忘了在最后使用jQuery.map(…)。get()来处理普通数组。
$elms.each()
内部出现了同样的问题。
因为:
- 传递给的函数
.each(Function)
暴露(至少)两个参数; 第一个是索引,第二个是列表中当前元素的元素,和 - 因为其他类似的循环方法在索引之前给出数组中的元素
你可能想要这样做:
$elms.each((item) => $(item).addClass('wrong'));
如果这是你需要的:
$elms.each((index, item) => $(item).addClass('wrong'));
如果您要附加到DOM,请确保内容兼容:
modal.find ('div.modal-body').append (content) // check content