Как я могу найти предыдущий класс, используя jQuery? - PullRequest
0 голосов
/ 20 ноября 2018

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

Как я могу получить его?

Вот что я пробовал: -

$(document).ready(function() {
    $('ul li').click(function() {
        alert($(this).prev('.two').text());
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
    <li>One</li>
    <li class="two">Two</li>
    <li>Three</li>
    <li>Four</li>
    <li>Five</li>
</ul>

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

.prev ([селектор])

Получите непосредственно предшествующего брата каждого элемента в наборе соответствующих элементов.

Вы можете использовать .prevAll() и :first:

Получите непосредственно предшествующего брата каждого элемента в наборе соответствующих элементов. Если указан селектор, он извлекает предыдущего родного брата, только если он соответствует этому селектору.

$(document).ready(function(){
  $('ul li').click(function(){
     alert($(this).prevAll('.two:first').text());
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<ul>
    <li>One</li>
    <li class="two">Two</li>
    <li>Three</li>
    <li>Four</li>
    <li>Five</li>
</ul>
0 голосов
/ 20 ноября 2018

Если указан селектор, он извлекает предыдущего родного брата, только если он соответствует этому селектору. документы

Параметр .prev() является условием.Имеется в виду, если предыдущий элемент .two, выберите его, а если нет - нет.Вам нужно использовать .siblings()

$('ul li').click(function(){
  console.log($(this).siblings('.two').text());
});    
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li>One</li>
  <li class="two">Two</li>
  <li>Three</li>
  <li>Four</li>
  <li>Five</li>
</ul>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...