我有一个通过 AJAX 加载的模式(我无权访问触发它的 JS 文件)。我想使用 JQuery 将一些 HTML 附加到模态的主体。如果我当然不能在 document.ready 函数中简单地做到这一点。当另一个元素出现在 DOM 中时,有没有办法附加 HTML?我试过了 $('.npopup .description').load(function(){
$(this).append(message);
});和 $('.npopup .description').ready(function(){
$(this).append(message);
});没有结果。
1 回答
撒科打诨
TA贡献1934条经验 获得超2个赞
你可以ajaxComplete()这样使用:
$( document ).ajaxComplete(function( event, xhr, settings ) {
if ( settings.url === "ajax/test.html" ) {
$(this).append(message);
}
});
确保查看event,xhr并settings让您找到您感兴趣的请求。否则,如果您不在if回调正文中使用该语句,您将在每个 ajax 调用中附加该消息。
另一种可能的解决方案是使用 MutationObserver 监听 DOM 中的变化。请参阅此处的示例: https: //developer.mozilla.org/en-US/docs/Web/API/MutationObserver。
MutationObserver 虽然是一个更好的解决方案,但我不记得与浏览器的兼容性如何。总的来说,兼容性还是不错的。
添加回答
举报
0/150
提交
取消