jQuery anchor click, “this”, “e.target” - returns url

杀马特。学长 韩版系。学妹 提交于 2019-12-11 02:11:47

问题


I've switched from Mootools to jQuery, because I think it has better support. I've got HTML like that:

<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));     
    });
});

Results:

URL, Empty alert, [object Object], URL, Empty alert, [object Object]. I don't know what to do. Link if it'll help: http://misiur.com/CRP/admin/

I want to achieve that: 1. You click on a with class menuOpener 2. all li with class submenuElement inside same ul (in this case menuOpt1Content) are showing


回答1:


$('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:


$('.menuTreeElement .menuOpener').click(function(event)
{
    event.preventDefault();
    $('.menuTreeElement .submenuElement').hide();
    $(this).parent().find('.submenuElement').show();
    return false;
});


来源:https://stackoverflow.com/questions/3175646/jquery-anchor-click-this-e-target-returns-url

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!