@Stop_Loll
Дизайнер

Как при парсинге страницы методами Jquery, вывести информацию определенного Тега с определенным динамическим номером последовательности?

Здравствуйте, столкнулся с проблемой, есть страница, на которой выведена информация о пользователе, но в разных тегах <span>, с разными классами. Ту информацию которую я получаю находится в теги <span class="user__to">, но при парсинге получается вывести первый тег с данным классом. Я попытался выводить через переменные, но к сожалению данный код получается громоздким, да и проблема еще в том, что их последовательность не статичная, а они иногда могут менять свою последовательность, не все конечно, но большая их часть.
$.get('/user-kabinet.html', function (user) { 
  var contents = $('.user__to', user)[1];
  $('#name').html($('.user__to, user).html());
  $('#rank').html($(contents).html());
});

Что я имею ввиду под последовательностью, например у меня есть <span>Имя</span> <span>Фамилия</span> и между ними после редактирования профиля появляется
<span>Имя</span><span>Почта</span> <span>Фамилия</span>
, получается что последовательность изменилась и теперь <span>Фамилия</span> находится под номер 3 и поэтому информация при выводе изменяется. Как достичь вывода информации с автоматическим изменением порядкового номера? На jquery, буду очень благодарен за помощь!
  • Вопрос задан
  • 196 просмотров
Решения вопроса 1
@Stop_Loll Автор вопроса
Дизайнер
И так, решил проблему способом громоздким, возможно костыльным. Ниже будет код:
$.get('/user-kabinet.html', function (user) { 
  $('#ne').html($('.us__tag:eq(0)', user).html());
  $('#rk').html($('.us__tag:eq(1)', user).html());
  $('#de').html($('.us__tag:eq(-1)', user).html());

Объясню, что я делал. Сначала вытащил статичные объекты, которые не меняют свой индекс, а именно: первый, второй и последний <span class="us__tag">, таким образом я получил те зоны, у которых могут быть динамические индексы, например был 4, стал 5 после добавления пользователем иной информации.
Что же я сделал с такими тегами? Искал их по названию, благо есть дополнительные теги <span class="us__title"></span>, по которым я с помощью условий if узнавал, присутствует объект с данным именем или нет, если значение было отрицательное, то выводил сообщение об ошибке, если положительное, то так же использовал $('#de').html($('.us__tag:eq(-2)', user).html()); и т.д.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы