Javascript 在使用e.target之后,如何获取整个(父)元素而不仅仅是特定的子元素

Javascript 在使用e.target之后,如何获取整个(父)元素而不仅仅是特定的子元素,javascript,jquery,html,events,Javascript,Jquery,Html,Events,在下面的代码中,我想以li为目标,查看是否单击了li。目前,当我点击li的文本时,e.target是span,它是li的子元素,所以我好像没有点击li(我猜e.target是非常具体的)。li位于下拉菜单中,因此我使用e.target来获取用户想要的选项。如果用户选择带有class 1 set全局变量的li。如果用户选择类为2的li,则设置一个diff全局变量。什么是针对整个li的最佳方式 $(document).ready( function(){ var clicked =

在下面的代码中,我想以
li
为目标,查看是否单击了
li
。目前,当我点击
li
的文本时,e.target是span,它是li的子元素,所以我好像没有点击li(我猜e.target是非常具体的)。li位于下拉菜单中,因此我使用e.target来获取用户想要的选项。如果用户选择带有class 1 set全局变量的li。如果用户选择类为2的li,则设置一个diff全局变量。什么是针对整个li的最佳方式

 $(document).ready( function(){
        var clicked = ["subtraction"]
        $(".add-section").on("click", function(e){
            console.log(e.target)
            clicked = []
            clicked[0] = "addition"
            $("#gameArea").html(clicked[0])
            if(!$(".add-section ul").is(":visible")){
                $(".add-section ul").css("display" , "block")
            }else{
                $(".add-section ul").slideUp("fast")
            }
            if($(e.target).hasClass("one")){
                alert("one")
            }
        })
    });
html:


添加
  • 添加2项2d
  • 添加3项2d

您正在寻找
e.target.parentNode
来代替:

$(e.target).hasClass("one")
使用:



为什么不将click事件添加到span中?当我单击单词“add”时,会出现警报。我认为,因为父节点是div“class=”add section“”
$(e.target).hasClass("one")
$(e.target).closest('li').is('.one')