Jquery 使用javascript更改IE8中div的内容

Jquery 使用javascript更改IE8中div的内容,jquery,internet-explorer-8,Jquery,Internet Explorer 8,我正在尝试使用javascript/jquery更改div的内容。而代码在IE9、FF、Chrome、Safari和Opera上运行。它在IE8上失败。我已经尝试了.append、.appendTo、.innerHTML。容器div的内容始终为空 可能有什么问题。代码是 <script type="text/javascript"> jQuery(document).ready( function() { var containers = jQuery('.page_content'

我正在尝试使用javascript/jquery更改div的内容。而代码在IE9、FF、Chrome、Safari和Opera上运行。它在IE8上失败。我已经尝试了.append、.appendTo、.innerHTML。容器div的内容始终为空

可能有什么问题。代码是

<script type="text/javascript">
jQuery(document).ready(
function()
{
var containers = jQuery('.page_content');


if (!containers.length)
{
return
}
var container = containers.eq(0);

container.block();
jQuery.get("<?php echo Router::url( array('controller' => 'user',
                        'action' => 'profile',
                        'admin' => false));
 ?>
    ", function(data)
    {
    if (jQuery.browser.msie)
    {

        alert(container.html()); //returns correct result
        container.empty();
        container.innerHTML = new String(data); 
        alert(data); //shows right output, some html
        alert(container.html()); //is always empty
    }
    else
    {
        container.html(data);
    }
    container.unblock();
    }
    );

    }

    );
</script>

jQuery(文档).ready(
函数()
{
var containers=jQuery('.page_content');
如果(!containers.length)
{
返回
}
var container=containers.eq(0);
container.block();
jQuery.get(“
,函数(数据)
{
if(jQuery.browser.msie)
{
警报(container.html());//返回正确的结果
container.empty();
container.innerHTML=新字符串(数据);
警报(数据);//显示正确的输出,一些html
警报(container.html());//始终为空
}
其他的
{
html(数据);
}
container.unblock();
}
);
}
);

如果只想重置容器中的数据,可以执行以下操作:

container.html(data);
检查当您将字符串传递给

可能您的选择器工作不正常。如果您只需要.page_content类的第一个元素,为什么不:

var container = jQuery('.page_content:first');
使用:

也就是说,如果
数据
与原始的
div
内容相同


注意:我正在使用IE8进行测试。

我刚刚通过使用以下代码解决了这个问题

error: function (data) {
    var resultedHTML = data.responseText;
    $('#Import-1').html(resultedHTML);
    return false;
}

这种反应对我不起作用。因此,我使用responseText解决了这个问题。hmmm您是否可以创建一个jsFiddledata是一个表单元素,它被动态加载到一个名为.page_content的div中。有趣的是,容器的内部HTML正在被更改。我还为正在加载的表单提供了一个实时查询选择器。这可能是个问题吗?不起作用。请看我上面的评论。请进一步澄清,数据是否与原始的div内容相同。与replaceWith一起工作。我认为这是一个棘手的问题。它没有刷新javascript。好的,它为您解决了,很好。我的意思是
数据
的html格式应该与
容器
相同。有关更多信息,请参阅
replacebith
链接参考。这样选择器工作正常。谢谢你。不能解决我的问题。
error: function (data) {
    var resultedHTML = data.responseText;
    $('#Import-1').html(resultedHTML);
    return false;
}