Я перешел с Mootools на jQuery, потому что считаю, что у него лучшая поддержка. У меня такой HTML:

<ul class="menuHandler">
<li class="menuTreeElement activeOpt" id="menuOpt1">
<ul id="menuOpt1Content">
<li><a href="#" class="menuOpener">Opcje</a><a href="#" class="sprite menuOpener"></a></li>
<li class="submenuElement">Opcje</li>
<li class="submenuElement">Opcje</li>
<li class="submenuElement">Opcje</li>
<li class="submenuElement">Opcje</li>
<li class="submenuElement">Opcje</li>
<li class="submenuElement">Opcje</li>
</ul>
</li>
</ul>

JS

jQuery(document).ready(function($)
{
    $('.menuTreeElement .submenuElement').hide();   
    $('.menuHandler li.menuElement, .menuHandler li.menuTreeElement').removeClass('activeOpt');
    $('.menuHandler li.menuElement, .menuHandler li.menuTreeElement').addClass('inactiveOpt');
    $('.menuHandler li.menuElement a.menuOpener, .menuHandler li.menuTreeElement a.menuOpener').click(function(e){
    e.preventDefault();
    alert(this);
    alert(this.id);
    alert($(this));
    alert(e.target);
    alert(e.target.id);
    alert($(e.target));     
    });
});

Полученные результаты:

URL, пустое предупреждение, [объект объекта], URL, пустое предупреждение, [объект объекта]. Я не знаю что делать Ссылка, если это поможет: http://misiur.com/CRP/admin/

Я хочу добиться этого: 1. Вы щелкаете с помощью класса menuOpener 2. отображаются все li с классом submenuElement внутри одного ul (в данном случае menuOpt1Content)

2
Misiur 4 Июл 2010 в 21:59

2 ответа

Лучший ответ
$('ul.menuHandler').delegate('a.menuOpener', 'click', function(ev){

     //prevent follow of link
     ev.preventDefault();

     //create a jquery object with the anchor element
     var $anchor = $(this);

     //get parent li with class menuTreeElement
     var $li = $anchor.closest('li');

     //get its siblings and show???
     $li.nextAll().show()


});
5
redsquare 4 Июл 2010 в 18:24
$('.menuTreeElement .menuOpener').click(function(event)
{
    event.preventDefault();
    $('.menuTreeElement .submenuElement').hide();
    $(this).parent().find('.submenuElement').show();
    return false;
});
0
J. K. 4 Июл 2010 в 18:15