Мне нужно получить data-id щелчком href в li. Но ul, li и href не имеют идентификаторов. У них действительно длинные названия классов. Например:

<ul class="a-long class-name">
   <li class="a-long-li class-name" data-id="99">
      <div class="generic-button">
         <a href="#" class="button edit edit-item secondary-action my-tooltip"> 
            <span class="edit-label">Edit</span>
         </a>
      </div>
   </li>
</ul> 

Как мне получить data-id при нажатии href в этом li?

Я не могу изменить какие-либо элементы или атрибуты или добавить к ним.

1
shanebp 3 Май 2021 в 02:28

1 ответ

Лучший ответ

Вы можете использовать атрибут data-id как часть селектора

$('li[data-id] a').click(function(e){
   const id = $(this).closest('li').data('id');
   console.log('ID:', id);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul class="a-long class-name">
   <li class="a-long-li class-name" data-id="99">
      <div class="generic-button">
         <a href="#" class="button edit edit-item secondary-action my-tooltip"> 
            <span class="edit-label">Edit</span>
         </a>
      </div>
   </li>
</ul>
1
charlietfl 2 Май 2021 в 23:39