jquery: ближайший ('h3') селектор? - PullRequest
7 голосов
/ 15 февраля 2011

у меня есть:

<ul class="rating">
    <h3>Like this</h3>
    <li class="rating-number">
        <div id="iLikeThis" class="iLikeThis">
            <span class="counter">2</span>
        </div>
    </li>
</ul>

это мой код jquery

$('.iLikeThis .counter').each(function() {
        $(this).parent().parent().parent().children('h3').text('You like this');
        $(this).parent().addClass('like');
});

Есть ли лучший способ выбрать ближайший элемент h3. Он работает с 3-кратным parent (), но не с ближайшим ('h3).

Почему?

1 Ответ

14 голосов
/ 15 февраля 2011

Поскольку h3 не является родителем .counter, это не сработает. Используйте .closest() на .rating вместо этого и найдите его h3:

$(this).closest('.rating').children('h3').text('You like this');
...