Как получить элемент, используя класс и атрибут

#javascript #jquery

#javascript #jquery

Вопрос:

 <ul>
      <li class="item padding-15 unread" data-id="10">
      <li class="item padding-15 unread" data-id="11">
      <li class="item padding-15 unread" data-id="12">
      <li class="item padding-15 unread" data-id="13">
      <li class="item padding-15 unread" data-id="14">
</ul>
  

Как мне найти li с именем элемента класса и идентификатором атрибута данных = 10?

Я пробовал это

 $("li").find("[data-slide=10]"); 
  

Но это не работает

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

1. data-slide в вашем примере нет, только data-id

Ответ №1:

всего за один запрос:

 $("li[data-id=10]")
  

Ответ №2:

.find смотрит на дочерние элементы — если вы хотите, чтобы они были отдельными шагами, используйте .filter

 $("li").filter("[data-id=10]").css("color", "green"); 

var li = $("li");

li.filter("[data-id=12]").css("color", "blue"); 
li.filter("[data-id=13]").css("color", "red");   
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
      <li class="item padding-15 unread" data-id="10">10</li>
      <li class="item padding-15 unread" data-id="11">11</li>
      <li class="item padding-15 unread" data-id="12">12</li>
      <li class="item padding-15 unread" data-id="13">13</li>
      <li class="item padding-15 unread" data-id="14">14</li>
</ul>