jQuery Ajax返回无法在IE中解析的HTML数据

时间:2012-01-27 03:39:50

标签: jquery ajax internet-explorer

我有像这样的

在Ajax Call中输入HTML
<div>
    <div id="one"></div>
    <div id="two"></div>
    <div id="three"></div>
</div>

在我的jQuery中,我试图识别如下的div元素并将它们添加进去 一个容器。

$.ajax({
    url: requestURL?queryString,
    success: function (data) {
        /// i is increment by for loop ..for simplicity I am leaving that logic.
        container.add(i,$(data).children('#one').html());

        // another case
        container.add(i,$(data).children('#two').html());

        // another case
        container.add(i,$(data).children('#three').html());
    }
});

该场景在FireFox中不在IE中 我试过$(data).find('div#one')$(data).children('div#one'),但没有任何效果。

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

检查.add的api。

如果您传递两个参数.add( selector, context ),那么 第一个参数应该是一个表示选择器表达式的字符串,以查找要添加到匹配元素集的其他元素。你的i做了正确的事吗?

答案 1 :(得分:0)

我已经为这个问题做了一些工作,修复了IE的children方法。 1)我在返回HTML的顶部添加了DOCTYPE,并在返回HTML中清除了所有空格。

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <div>
    <div id="one"></div>
    <div id="two"></div>
    <div id="three"></div>
    </div>

$(data).children('div#one').html(); 

在IE&amp;火狐。

Thansk