Получить имя класса из идентификатора в последнем появлении этого div в jquery

#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')