繁体   English   中英

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

[英]How to get the whole (parent) element not just the specific child after using e.target

在下面的代码中,我要定位li以查看是否单击了li 当前,当我单击li的文本时,e.target是span,这是li的子级,因此就好像我没有在li上单击一样(我猜e.target是非常具体的)。 li在一个下拉菜单中,所以我正在使用e.target来获取用户想要的选项。 如果用户选择第1类的li,则设置全局变量。 如果用户选择2类的li,则设置diff全局变量。 定位整个李的最佳方法是什么?

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

<div class="add-section">
    <span>add</span>
    <ul>
        <li class="one"><span class = "left" id = "add2">Add 2 items</span> <span class= "right">2d</span></li>
        <li class= "two"><span class = "left" id="add3">Add 3 items</span> <span class= "right">2d</span></li>
    </ul>
</div>

您正在寻找e.target.parentNode

代替:

$(e.target).hasClass("one")

采用:

$(e.target).closest('li').is('.one')

.is()| jQuery API文档
.closest()| jQuery API文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM