我有一个分段命名对话框,我正在尝试通过 ajax 添加内容。该元素的定位如下:
<div id="modal" style="height:100%; width:100%; position:fixed; z-index:1; left:0; top:0; display:none;">
<div style="position:fixed; top:50%; left:0; width:100%;">
<div style="height:150px; width:300px; margin:auto;">
<div>Processing</div>
<div>
<p id="dialog">Please Wait...</p>
</div>
</div>
</div>
</div>
注意我正在打电话:
$('#modal').show("fast");
在尝试向其中添加内容之前。
然后我尝试添加到对话框段落,如下所示:
$.post(
'processor.php',
queryString,
function(data){
alert('data:'+data);
$('#dialog').html(data);
}
)
它不包含对话框段落的innerHTML。我尝试将内容添加到未定位的不同元素中,效果很好。
有人知道为什么这不起作用吗?或者有解决办法吗?
P.s.我知道我应该将样式移至样式表,我通常在最后这样做。
更新
我想让你知道我只有 1 个对话框 ID,它实际上删除了 #dialog 中的文本,只是没有添加任何内容。
我也在 document.ready
中调用它
您可以看到页面here单击最底部的提交按钮即可查看它的发生。
更新2
这在 FF 和 IE 中工作正常,只是在 Chrome 中不起作用。
最佳答案
如果您查看控制台日志,就会看到文本。尝试将 css 添加到对话框中,例如:
#dialog { display:block; width:auto; height:auto;}
关于javascript - jquery html() 不适用于 Chrome 中的定位元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3214423/