Страницы

Поиск по вопросам

суббота, 28 декабря 2019 г.

Получить id объекта с помощью jQuery

#jquery


есть кусок html

    
Год:
Неделя:
Пытаюсь получить значение активной недели $("#week ul li.active").attr('id'); получаю 2016, т.е. показывает год, а не неделю. Не могу понять в чем косяк.


Ответы

Ответ 1



В html ошибка: 3/li>, а должно быть 3 Чтобы получить 3, пишете так: var v = $("#week .active").text(); или так var v = $("#week .active").attr("id"): если на странице несколько тегов с id="week", и надо получить последний, то так var v = $("#week .active").last().attr("id"); UPDATE Т.к. в селекторе "#week .active" не указан тег li, то селектор будет работать, даже если изменить html на следующий:
5


Ответ 2



Это все из-за не правильного селектора $("#week ul li.active") данный селектор ищет список ul внутри элемента с id="week". А у вас сам ul имеет этот id. Таким образом, нужно изменить этот селектор, сказав что мы ищем именно ul с таки id $("ul#week li.active") либо вообще опустить ul $("#week li.active") так как id должен быть уникальным на странице этого селектора достаточно Что касается получаю 2016, т.е. показывает год, а не неделю. судя по предоставленному куску кода - вывод вашего селектора должен быть undefined. Если вы получаете именно 2016, можно предположить, что данный кусок кода расположен внутри контейнера с id="week", т.е. на странице у вас как минимум два элемента с таким id. Пример console.log($("#week ul li.active").attr('id')); $('body').append($("#week ul li.active").attr('id')); console.log($("#week ul li.active"));
Год:
Неделя:


Ответ 3



У вас здесь ошибка: $("#week ul li.active").attr('id'); ID week это и есть список ul, должно быть так: $("#week li.active").attr('id');

Ответ 4



Эх.. Никто не вспоминает про prop... $("#week .active").prop('id');

Комментариев нет:

Отправить комментарий