Помогите оживить детей Div JQuery - PullRequest
2 голосов
/ 26 февраля 2011

Я пытаюсь что-то вроде этого

 jQuery(document).ready(function($){
    $('nav ul li').hover(
        function() {
            $('this.menu1bar').animate({ backgroundColor: "#95c938" }, "fast");
            $('this.menu2bar').animate({ backgroundColor: "#95c938" }, "fast");
        },
        function() {
            $('this.menu1bar').animate({ backgroundColor: "#a99672" }, "fast");
            $('this.menu2bar').animate({ backgroundColor: "#a99672" }, "fast");
       }
   );
   });

Цель этого кода - анимировать дочерние элементы div .menu1bar и .menu2bar. Кто-нибудь может помочь с этим шагом, код работает для всех дочерних элементов div UL, но я хочу, чтобы только дочерние элементы события зависания LI.

Ответы [ 3 ]

3 голосов
/ 26 февраля 2011

Это должно работать:

jQuery(document).ready(function($){
    $('#nav ul li').hover(
        function() {
            $(this).find('.menu1bar,.menu2bar').animate({ backgroundColor: "#95c938" }, "fast");
        },
        function() {
            $(this).find('.menu1bar,.menu2bar').animate({ backgroundColor: "#a99672" }, "fast");
       }
    );
});
2 голосов
/ 26 февраля 2011

Попробуйте использовать children () , чтобы выбрать определенный элемент.Примерно так:

$('this').children('.menu1bar').animate({ backgroundColor: "#95c938" }, "fast");

Редактировать:

Конечно, вы также можете использовать find () , но есть разница:

  • Find () ищет всех детей, все уровни, а также внуков.
  • Children () ищет только детей первого уровня.
0 голосов
/ 26 февраля 2011

Пожалуйста, покажите свою HTML-разметку.Я думаю, что проблема может быть в следующем ...

$('this.menu1bar')

try

$(this).find('.menu1bar')
...