Обработка нескольких элементов с одинаковым значением id не работает

#javascript #drop-down-menu #materialize

#javascript #выпадающее меню #материализовать

Вопрос:

Я хочу иметь выпадающее меню для каждого элемента списка, как показано на рисунке:

выпадающее меню

мой код:

HTML:

 <div class="card white">
  <div class="card-content grey-text text-darken-4">
    <span class="card-title grey-text text-darken-4">Card Title</span>
      <a id="myDropdown" class='btn-floating waves-effect waves-light transparent right' href='#' data-activates='myDropdown-menu'><i class="material-icons blue-grey-text text-darken-4">more_vert</i></a>
      <ul id='myDropdown-menu' class='dropdown-content'>
  <li><a href="#">Option 1</a></li>
  <li><a href="#">Option 2</a></li>
</ul>
  </div>
</div>

<div class="card white">
  <div class="card-content grey-text text-darken-4">
    <span class="card-title grey-text text-darken-4">Card Title</span>
      <a id="myDropdown" class='btn-floating waves-effect waves-light transparent right' href='#' data-activates='myDropdown-menu'><i class="material-icons blue-grey-text text-darken-4">more_vert</i></a>
      <ul id='myDropdown-menu' class='dropdown-content'>
  <li><a href="#">Option 1</a></li>
  <li><a href="#">Option 2</a></li>
</ul>
  </div>
</div>
  

JS:

 $("#myDropdown").dropdown();
  

теперь проблема в том, что если я использую id="myDropdown" более одного элемента, он работает только с первым элементом, другие меню работают некорректно. Как я могу это решить.

вот JSFiddle для этого в качестве демонстрации.

Пожалуйста, предложите мне решение. Заранее спасибо.

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

1. Идентификатор должен быть уникальным. Таким образом, использование одного и того же идентификатора дважды является ошибкой.

Ответ №1:

‘id’, как следует из его названия, является уникальным идентификатором элемента в dom. Убедитесь, что ваши идентификаторы уникальны, и никогда не используйте один и тот же идентификатор для более чем одного элемента. Если вам нужно что-то для идентификации группы элементов, используйте класс.

Ответ №2:

Идентификатор — это имя, присвоенное элементу, который имеет свой собственный стиль и функцию, и не может быть применен к элементу, который также нуждается в той же функции. Если есть много элементов, которые имеют одинаковый стиль и функцию, используйте ‘class’. Идентификатор может быть применен только один раз. Вот документация: https://www.w3schools.com/htmL/html_id.asp#:~:text= HTML id Attribute 1 Using The,for that… 6 Chapter Summary. More

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

1. Добро пожаловать в stack overflow. При ответе на вопрос, пожалуйста, сначала проверьте существующие ответы. Дублирование существующего ответа создает проблемы для пользователя.