Я использовал jQuery.load () для загрузки содержимого html-страницы в лайтбокс. Наиболее полезная вещь, которую загрузка делает в этом случае, превращает полные HTML-страницы в чистый HTML-фрагмент для вставки в страницу.
Но (из-за ошибочного стороннего API, который не работает при динамической загрузке), мне нужно сначала использовать регулярное выражение для фильтрации одного или двух элементов со страницы, прежде чем он будет обработан как HTML, что означает, что мне нужно использовать параметр dataFilter $ .ajax.
Так что теперь, когда я использую $ .ajax вместо .load, мне нужно преобразовать отфильтрованный текст в чистый HTML, который .load доставляет автоматически
Но $ (response) генерирует странный ошибочный объект jQuery, в котором .find (), children () и т.д ... не работают.
Может кто-нибудь сказать мне, как получить чистый HTML, который мне нужен (я замечаю, что код Ajax injQuery сильно изменился с версии 1.4.4 до 1.5 - решение, использующее любую версию, подойдет)
Вот что у меня есть (с использованием jQuery 1.4.4) (все переменные и методы, на которые они ссылаются, определены выше этого кода)
$.ajax({
url: url,
type: "GET",
dataType: "html",
dataFilter: function (response) {
return response.replace(recaptchaRegex, "");
},
success: function (response) {
// If successful, inject the HTML into all the matched elements
// See if a selector was specified
destination.html($(response).children("#lightBoxForm"));
callback();
}
});