Я использую функцию наведения мыши для меню в меню. Я выбрал определенный элемент, используя его класс. Чтобы внести изменения только в этот элемент, а не во все элементы этого класса, я могу использовать «this». Но я хочу внести изменения в тег h3 внутри этого элемента класса. Опять тот, на котором я завис, и не все элементы с таким именем класса.

Я пытался использовать элемент> после 'this', но он не работает.

Как я могу это сделать? Надеюсь, я объяснил достаточно хорошо. Я надеюсь, что вы понимаете, используя код.

$('.slide').hover(
    function(){
        $(this>'h3').animate({
            height: '100%'
        });
    },
    function(){
        $(this>'h3').animate({
            height: '25px'
        });
    }
);

Все ответы приветствуются. Спасибо

2
Aayush 26 Авг 2010 в 23:33

6 ответов

Лучший ответ

Вы используете .find(), чтобы получить <h3> элемент внутри {{X2} } .

$('.slide').hover(
    function(){
        $(this).find('h3').animate({
            height: '100%'
        });
    },
    function(){
        $(this).find('h3').animate({
            height: '25px'
        });
    }
);

Если <h3> является прямым потомком, использовать его немного эффективнее .children() :

$(this).children('h3').animate({
4
user113716 26 Авг 2010 в 19:35

Все вышеприведенные ответы верны. Причина, по которой ваш селектор не работает, заключается в том, что простое ключевое слово this указывает на фактический элемент DOM. Вы должны обернуть 'this' в объект jQuery сам по себе так: $ (this), прежде чем использовать любые методы jQuery.

0
Jeff Adams 26 Авг 2010 в 19:54

Вы должны использовать $ (this) .find ('h3') как в

  $('.slide').hover(
    function(){
        $(this).find('h3').animate({
            height: '100%'
        });
    },
    function(){
        $(this).find('h3').animate({
            height: '25px'
        });
    }
);

Или если вы хотите, чтобы h3: s находился непосредственно под .slide, вы можете использовать

$(this).children('h3')
1
Jonatan B 26 Авг 2010 в 19:41

Попробуйте $(this).find("h3") вместо $(this>'h3').

1
David 26 Авг 2010 в 19:35

Использование:

$(this).find('h3')

Или же:

$(this).children('h3')
1
Sarfraz 26 Авг 2010 в 19:35

Попробуй это:

$(this).children('h3').animate();
2
Aaron 26 Авг 2010 в 19:36