【发布时间】:2010-07-09 16:03:32
【问题描述】:
我有一个分段命名对话框,我正在尝试通过 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。我尝试将内容添加到未定位的其他元素,并且效果很好。
有人知道为什么这不起作用吗?或者有什么解决办法?
附:我知道我应该将我的样式移到样式表中,我通常会在最后这样做。
更新
我想让你知道我只有 1 个对话框 ID,它实际上是在删除 #dialog 中的文本,只是没有添加任何内容。
我也打电话给document.ready
你可以看到页面here点击最底部的提交按钮看到它发生了。
更新2
这在 FF 和 IE 中可以正常工作,只是在 chrome 中无法正常工作。
【问题讨论】:
-
你有多个
id="dialog"元素吗? -
@Nick 不只是一个,谢谢。
-
你能发个SSCCE吗?
-
如果将 id 更改为 'dialog' 以外的其他内容,它仍然会失败吗?
-
奇数 - 在您的示例中,文本在调整页面大小后显示。
标签: javascript jquery google-chrome innerhtml