我的html没有在我的jquery对话框中注入

时间:2012-04-19 08:24:32

标签: jquery

我有以下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。

有什么想法吗?

感谢。

3 个答案:

答案 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);