代码之家  ›  专栏  ›  技术社区  ›  Misiur

jquery锚单击,“this”,“e.target”-返回URL

  •  2
  • Misiur  · 技术社区  · 15 年前

    我已经从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。单击“with class menuopener” 2。所有在同一个ul(在本例中是menuopt1内容)内具有class submenuElement的li都将显示

    2 回复  |  直到 15 年前
        1
  •  5
  •   redsquare    15 年前
    $('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()
    
    
    });
    
        2
  •  0
  •   J. K.    15 年前
    $('.menuTreeElement .menuOpener').click(function(event)
    {
        event.preventDefault();
        $('.menuTreeElement .submenuElement').hide();
        $(this).parent().find('.submenuElement').show();
        return false;
    });