Не могу понять, как правильно использовать $ (this) в jQuery для получения элемента hovered - PullRequest
1 голос
/ 08 июня 2011

Итак, у меня есть несколько DIV, называемых «достижениями», и каждый из них содержит диапазон, называемый «недавний обмен».То, что я хотел бы сделать, - это сначала спрятать каждую недавнюю акцию, и она должна появиться, когда родительский класс «достижения» находится под навесом.Я пытаюсь использовать $ (this), чтобы получить его, но это не сработает.Я предполагаю, что это синтаксическая ошибка или что-то, и любая помощь будет оценена!

<script>
    $(".recent-share").hide();
    $('.achievement').hover(
        function ()) {
            $(this).next(".recent-share").show();
          });

  </script>

Ответы [ 3 ]

3 голосов
/ 08 июня 2011

Попробуйте:

$( ".achievement" ).hover( function() {
    $( this ).find( ".recent-share" ).show();
});

Также у вас была синтаксическая ошибка - это должно быть function () {, а не function()) {.

1 голос
/ 08 июня 2011

Возможно, попробуйте один из трех способов:

1. дети () поиск

$(this).children('.recent-share') 

2. контекстный поиск

  $('> .recent-share',this) 

3. найти ()

$(this).find('> .recent-share') // is basically the same as nº2 

Не проверено, было это в моих фрагментах.

1 голос
/ 08 июня 2011

.next() предназначается для родного брата.Попробуйте:

<script>
    $(".recent-share").hide();
    $('.achievement').hover(
        function ()) {
            $(this).find(".recent-share").show();
          });

  </script>
...