Javascript jquery html()无法处理Chrome中的定位元素
我有一个命名为dialog的段落,我正试图通过ajax向其中添加内容。元素的位置如下所示:Javascript jquery html()无法处理Chrome中的定位元素,javascript,jquery,google-chrome,innerhtml,Javascript,Jquery,Google Chrome,Innerhtml,我有一个命名为dialog的段落,我正试图通过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 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>
在尝试添加内容之前
然后我尝试向对话框段落添加如下内容:
$.post(
'processor.php',
queryString,
function(data){
alert('data:'+data);
$('#dialog').html(data);
}
)
它不会将HTML插入对话框段落。我尝试将内容添加到未定位的其他元素中,效果很好
有人知道为什么这不起作用吗?还是有办法
另外,我知道我应该把我的风格移到一个风格表上,我通常在最后这样做
更新
我想让你知道我只有一个对话框id,它实际上是在删除对话框中的文本,只是没有添加任何内容
我还在document.ready中调用这个
您可以看到页面,单击最底部的submit按钮可以看到它的发生
更新2
这在FF和IE中正常工作,只是在chrome中不工作。如果查看控制台日志,文本就在那里。尝试将css添加到对话框中,如:
$(document).ready(function() {
// do stuff when DOM is ready
//Is your code called inside here or after this function is executed?
//If not, it should be.
});
#dialog { display:block; width:auto; height:auto;}
如果您查看控制台日志,文本就在那里。尝试将css添加到对话框中,如:
#dialog { display:block; width:auto; height:auto;}
隐藏它,然后更改文本,然后再次显示它似乎可以让它工作。您必须同时设置隐藏和显示的动画才能使其工作,方法如下:
$('#mydialog').hide("slow",function(){
$('#mydialog').html(data);
$('#mydialog').show("slow");
});
它看起来不太优雅。如果有人有,我更喜欢一个更好的解决方案
编辑:
我想出的一个更好的解决方法是使用两个对话框,在我更改文本时切换它们。隐藏它,然后更改文本,然后再次显示它似乎可以让它工作。您必须同时设置隐藏和显示的动画才能使其工作,方法如下:
$('#mydialog').hide("slow",function(){
$('#mydialog').html(data);
$('#mydialog').show("slow");
});
它看起来不太优雅。如果有人有,我更喜欢一个更好的解决方案
编辑:
我想出的一个更好的解决方法是使用两个对话框,并在我更改文本时切换它们。您是否有多个id=“dialog”
元素?@Nick没有,谢谢。您可以发布一个吗?如果您将id更改为“dialog”以外的内容,它是否仍然会失败?奇怪-在您的示例中,文本在调整页面大小后显示。您是否有多个id=“dialog”
元素?@Nick不是,谢谢。您可以发布一个吗?如果您将id更改为“dialog”以外的内容,它是否仍然失败?奇怪-在您的示例中,文本在调整页面大小后显示。hmmmm。。不工作,在控制台中尝试过。。我在里面找到了:$('#dialog').html();“您没有完成所有必填字段。请仔细检查是否已完成所有标有*OK“的必填字段。我尝试了此操作,但无效。”。它就在那里,它在调整浏览器大小后出现。我想这可能是一个chrome错误?我想如果我有办法强迫浏览器重新渲染它,它会修复它。你到底是如何查看控制台日志的?嗯。。不工作,在控制台中尝试过。。我在里面找到了:$('#dialog').html();“您没有完成所有必填字段。请仔细检查是否已完成所有标有*OK“的必填字段。我尝试了此操作,但无效。”。它就在那里,它在调整浏览器大小后出现。我想这可能是一个chrome错误?我想如果我有办法强迫浏览器重新渲染它会修复它。你如何查看控制台日志?