Почему поиск ответа jquery ajax игнорирует элементы ulJquery

Программирование на jquery
Ответить
Гость
 Почему поиск ответа jquery ajax игнорирует элементы ul

Сообщение Гость »


У меня есть вызов ajax, который возвращает приведенный ниже HTML-код. Я хочу проанализировать его и создать поле выбора с соответствующими элементами. Здесь (с $(document)) все работает отлично,

sel = $('').attr({id: 'archive', title: 'дата/время, сохраненное на сервер'}).addClass('dt-button') $(document).find('ul li').each(function(k,v){ txt = $(v).текст() если (txt.match(/.*\.json/)){ sel.prepend($('').attr({value: `archive/${txt}`}).text(txt.replace('.json', ''))) } }) sel.prepend($('').attr({value: 'latest.json', selected:'selected'}).text('latest')) $('body').append(sel) Список каталогов для /data/archive/ Список каталога /data/archive/ [*].gitkeep [*]2024-02-23.tgz [*]2024-02-24.tgz [*]2024-02-25_00-00-01.json [*]2024-02-25_00-10-01.json [*]2024-02-25_00-20-01.json [*]2024-02-25_00-30-01.json [*]2024-02-25_00-40-01.json

Но когда я делаю это с реальным ответом ajax:

$.ajax('data/archive/').done(function(data) { sel = $('').attr({id: 'archive', title: 'дата/время, хранящиеся на сервере'}).addClass('dt-button') $(data).find('ul li').each(function(k,v){ txt = $(v).текст() если (txt.match(/.*\.json/)){ sel.prepend($('').attr({value: `archive/${txt}`}).text(txt.replace('.json', ''))) } }) sel.prepend($('').attr({value: 'latest.json', selected:'selected'}).text('latest')) $('#data-archive').append(sel) }) это не работает, поскольку find возвращает 0 элементов. это работает только тогда, когда я удаляю ul из селектора и просто оставляю li (или li a). Может кто-нибудь объяснить почему?

$(data).filter('ul').find('li a').each(function(){console.log($(this).text())}) это тоже работает...

по сути, не работает только селектор 'ul li'
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»