无法在IE中使用find()放置数据

时间:2013-08-01 06:57:50

标签: javascript html ajax jquery

我目前正在开发一个项目,我正在使用ajax jQuery获取一些数据。我使用以下代码:

$.ajax({
        dataType : 'html',
        type: 'POST',
        url : url,
        //cache: false,
        data : data,
        complete : function() { },
        success: function(data) 
            {
                $('#servicelist').hide();
                $('#stafflist').show();
                data=$(data).find('div#stafflistcontent');
                $('#stafflist').html(data);
            }
    });

当我尝试在ajax success的第一行提醒数据时,它会返回页面的完整HTML,现在我将找到<div id="stafflistcontent">。在Firefox和Chrome中它返回正确的HTML,但在IE中它只返回OBJECT OBJECT,我该如何解决这个问题?

修改

IE版:IE8

jQuery版本:1.9.1

2 个答案:

答案 0 :(得分:0)

$(data).find('div#stafflistcontent')返回一个jQuery对象,而不是“数据”(你的意思是什么)。 .html()接受一个字符串作为参数,因此不应该这样。

而不是

$('#stafflist').html(data);

使用

$('#stafflist').empty().append(data);

如果这不起作用,您将需要显示您的HTML以及您的AJAX调用返回的确切内容。

答案 1 :(得分:-1)

取代:

$('#stafflist').html(data);

使用:

$(data).html().appendTo('#stafflist');

或:

 $("<p></p>").append($(data).html()).appendTo('#stafflist');