0

我遇到了在 div 上调用的 .html() 函数的问题。我有一个 jQuery 对话框,其中包含一个带有选择选项输入的 div。在选择选项输入的更改事件中,对 java servlet 进行 ajax 调用,该 servlet 生成新代码,并使用 .html() 将其放入 div 中。这是我的ajax调用的“成功”功能:

success: function (data, textStatus, xhr) {
    if (data.length > 0) {
        alert($('#myDivId').html());
        $('#myDivId').empty().html(data);
        alert($('#myDivId').html());
    }
}

这是有趣的部分!我第一次更改选择值时,效果很好。当我再次尝试时,ajax 调用按预期工作,但屏幕上的内容(chrome 和 IE)并不能反映 html() 函数返回的内容。第一次调用后,警报显示,说:

<b>Hello</b>

在 html() 调用之前,然后在它说:

<b>World</b>

但是 chrome 和 IE 上的 Div 仍然显示Hello

有什么线索吗?

4

1 回答 1

0

我终于在这里找到了问题。div pb-div 是动态创建的。在我的应用程序的特定情况下,该 div 会从页面中删除。当它使用相同的脚本重新创建时,看起来浏览器仍然在另一个 div 上具有句柄或类似的东西。我只是在 DIV 名称中添加了时间戳以始终具有唯一的 ID,并且它起作用了!

于 2013-02-12T13:09:40.053 回答