我有以下jquery:
$.ajax({
url: href,
context: document.body,
success: function (data) {
alert(data);
// Prepare & show dialog
$(dialogDiv).find('.modal-body p.body').html(data);
...
我在'数据'中有一些html。我很确定,因为我将它显示在一个警告框中。我尝试用上面脚本中的最后一行注入这个html。当我检查DOM时,我没有看到我的HTML。
有什么想法吗?
感谢。
答案 0 :(得分:1)
如果你在ajax调用之前定义了dialogDiv
(意味着它在响应方法中是全局的)那么为什么你不只是使用
dialogDiv.find('.modal-body p.body').html(data);
而不是
$(dialogDiv).find('.modal-body p.body').html(data);
还要确保{/ 1}}在显示弹出窗口之前确实存在。 我猜,当你显示(或初始化)它时,你的对话框会创建它的标记。 在这里你尝试将html注入到不存在的元素中。 尝试调查更多,希望它有所帮助。
要快速检查,请先尝试显示对话框,然后插入html,看看是否已插入。
答案 1 :(得分:0)
将dataType
参数添加到ajax()
来电。根据我的经验,jQuery的智能数据类型猜测不是100%完美。
$.ajax({
url: href,
context: document.body,
dataType: 'html',
success: function (data) {},
...
});
答案 2 :(得分:0)
如果你确定数据是html,请尝试appendTo。
var $modal=$(dialogDiv).find('.modal-body p.body');
$(data).appendTo($modal);