#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 на следующий:Ответ 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');
Комментариев нет:
Отправить комментарий