@denisuk

Как получить элементы по классу из ajax ответа?

При выполнении ajax, ответом приходит html-код страницы с типом string. Как из этого html-кода получить доступ к элементам, и, например, использовать .getElementBy* ?

$.ajax({  
                url: my_url,  
                method: "GET",
                dataType: "html",
                success: function(html){  
                    ...
                }
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
@zkrvndm
Боты, парсеры, расширения
Используйте DOMParser. Применительно к вашему коду распарсить ответ можно вот так:
$.ajax({  
	url: my_url,  
	method: "GET",
	dataType: "html",
	success: function(html){
		var doc = new DOMParser().parseFromString(html, 'text/html');
		var txt = $('селектор_для_поиска', doc).text();
		alert(txt);
	}
});

Как видно из примера, чтобы что-то найти в полученном html, мы его сначала должны превратить в документ при помощи DOMParser, а затем банально передаем полученный документ вторым аргументом в функцию jQuery и в итоге jQuery искать элементы будет не на текущей странице, а конкретно в переданном документе.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
qnixnet
@qnixnet
Привяжите в ответу класс:
success: function(data){ $('#...').html(data); }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы