@sainttechnik
Frontend developer, в прошлом админ

Почему не работает jQuery селектор по конкретному div в AJAX ответе?

На сайте используется не элегантное решение AJAX корзины, которое пока нет возможности переделать.
При каждом изменении корзины выполняется AJAX запрос, возвращающий всю страницу, из которой потом с помощью jQuery вырезается div с корзиной и подставляется в текущую страницу.
Структура корзины:
<div id="popup-basket" class="modal">
<div class="basket">
<form>...</form>
</div>
</div>

Столкнулся с неработающим селектором, при чем по конкретному блоку:
$('#popup-basket', ajaxResult)
Селектор по класу этого блока тоже не работает:
$('.modal', ajaxResult)
Смотрел через отладчик Chrome содержимое ajaxResult - блок есть, id и class правильные.
При этом дочерниые элементы блока выбираются без проблем и такая конструкция работает и выбирает нужный блок:
$('.basket', ajaxResult).parent()
Версия jQuery - 1.8.2. Пробовал 1.10.2 - без разницы.
PS: вопрос скорее из интереса разобраться почему не выбираеться конкретный блок. Обходные решения уже найдены.
  • Вопрос задан
  • 3850 просмотров
Пригласить эксперта
Ответы на вопрос 1
ruFelix
@ruFelix
Предсказание будущего по руке, таро, кофе.
Это происходит потому что ajax ответ не является объектом jQuery
Что бы всё заработало сделайте вот так:

$('#popup-basket', $(ajaxResult))
Ответ написан
Ваш ответ на вопрос

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

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