обнаружить ссылку на 2-м уровне li и добавить span, а также добавить класс к родительскому li при наведении - PullRequest
1 голос
/ 01 декабря 2009

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

У меня есть две проблемы, которые нужно решить:

  1. Я хочу, чтобы родитель оставался в состоянии зависания, когда оно зависло в то время как мышь находится над дочерним узлом ul
  2. Я хотел бы определить, есть ли у родительского элемента ul, и добавить промежуток между тегами a, что приведет к: <a href="#">Text <span style="addedStyle">&nbsp;</span></a>

Вот jQuery, который я использую до сих пор. ".addClass (" активный ")", кажется, не делает много:

$(".leftMenu li:has('ul')").hover(
    function(){
        $(this).addClass("active").children().animate({opacity: 'show'});
    },
    function(){
        $(this).removeClass("active").children().hide();
    }
);
//this line is wrong and non-functional
$(".leftMenu li:has('ul > a')").append('<span class="arrowdiv">&nbsp;</span>');

Ждем!

1 Ответ

1 голос
/ 03 декабря 2009

Разобрался. Узнавать что-то новое каждый день!

Я должен был найти "а" и добавить его к этому. это просто добавлялось ко всему li, и мне пришлось сосредоточиться на a, что я, очевидно, сделал так:

$(".leftMenu li:has('ul') > a").append('<span class="arrowdiv">&nbsp;</span>')
.parent().hover(
function(){
  $(this).addClass("active").children().animate({opacity: 'show'});
},
function(){
 $(this).removeClass("active").children().hide();
}
);
...