Jquery find()在IE中花费了太多时间

时间:2009-08-21 16:22:50

标签: jquery internet-explorer timeout find

我试图在Ajax HTML响应中找到DIV中的HTML:

$j(responseText).find("#my_DIV").html()

这在FF中完美运行但是IE6似乎挂起并等待find()完成,是否有找到DIV的工作或者我做错了什么?

4 个答案:

答案 0 :(得分:1)

我认为问题在于jQuery.clean函数,如果你传递一个非常大的HTML,一旦jquery必须将所有html字符串解析为dom节点,浏览器将会有很多工作要做,因为firefox is faster than IE你只注意IE中的问题。

答案 1 :(得分:0)

如果是ajax调用,请尝试减少响应。你没有提到你在服务器端使用的是什么 - 但是想法是如果它是一个XMLHttpRequest,你只返回所需的片段。

答案 2 :(得分:0)

尝试按如下方式拆分代码:

var response = $j(responseText);
var div = response.find("#my_DIV");
var html = div.html();

通过这种方式,您将能够准确地看到哪个部分正在花费时间。然后,通过更准确的信息,您可以编辑您的问题以提供更多详细信息。

答案 3 :(得分:0)

我不确定后代选择器是否使用与find方法相同的迭代,但您可以尝试以下代码来查看是否获得更快的响应:

$j(responseText+" #my_DIV").html()

请参阅descendant selector

的文档