Я пытаюсь найти HTML внутри DIV в ответе Ajax HTML:
$j(responseText).find("#my_DIV").html()
Это отлично работает в FF, но IE6, кажется, зависает и ждет вечно, пока find () завершает работу, есть ли способ найти DIV или я что-то не так делаю?
Я думаю, что проблема в функции jQuery.clean, если вы передадите очень большой HTML-код, у вашего браузера будет много работы, когда jquery придется анализировать все html-строки в dom-узлах, так как firefox быстрее чем IE вы заметите проблему только в IE.
Я не уверен, использует ли селектор потомков ту же итерацию, что и метод find, но вы можете попробовать следующий код, чтобы увидеть, получаете ли вы более быстрые ответы:
$j(responseText+" #my_DIV").html()
См. Документацию для селектора потомков
Попробуйте разделить ваш код следующим образом:
var response = $j(responseText); var div = response.find("#my_DIV"); var html = div.html();
Таким образом, вы сможете точно увидеть, какая часть занимает время. Затем с помощью этой более точной информации вы можете отредактировать свой вопрос, чтобы предоставить более подробную информацию.
Если это ajax-вызов, попробуйте урезать ответ. Вы не упоминаете, что вы используете на стороне сервера - но идея в том, что, если это поступает XMLHttpRequest, вы возвращаете только тот фрагмент, который вам нужен.