#javascript #jquery
#javascript #jquery
Вопрос:
<div class='user user1' id='newuser'></div>
<div class='user user2' id='newuser'></div>
<div class='user user3' id='newuser'></div>
Для получения имени класса из id я могу использовать $('#newuser').attr('class');
Здесь, как я могу получить имя класса последнего div, идентификатор которого — newuser?
если идентификатор должен быть уникальным, то как я могу получить имя класса последнего класса с именем user?
Комментарии:
1. те же идентификаторы недопустимы в CSS
2. Идентификаторы должны быть uniq
3. @kukkuz твоя формулировка сбивает с толку. Это недопустимо в HTML . Совершенно допустимо повторить селектор в CSS — будут ли результаты такими, какие вы хотите, это другой вопрос.
Ответ №1:
alert($("div[id='newuser']").last().attr('class'));
Или
alert($("[id='newuser']").last().attr('class'));
Приведенный выше код получит имя класса и предупредит его. Надеюсь, это поможет вам 🙂
Комментарии:
1. очень приветствуется 🙂 . нехорошо использовать один и тот же идентификатор во многих полях. Я бы использовал приведенный выше код только в том случае, если бы не было других вариантов.
Ответ №2:
Вместо использования #new_user
, почему бы вам не использовать
$(".user:last-child").attr("class");
Кроме того, как и в комментарии выше, идентификатор элемента должен быть уникальным.
Комментарии:
1. Использование
.last()
кажется более быстрым ( jsperf.com/last-child-vs-jquery-last )
Ответ №3:
Первый id
должен быть uniq для всего документа. Во-вторых, вы можете выбрать последний элемент коллекции с помощью :last-child
селектора
$('.user:last-child').attr('class');
Ответ №4:
используя ванильный js
document.querySelector('.user:last-child').getAttribute('class')