找出哪个元素被点击了

Finding out which element exactly was clicked

本文关键字:元素      更新时间:2023-09-26

我正在尝试测试页面的哪些部分被点击。有没有一个jQuery函数可以显示被点击元素的路径?我在谷歌上搜索过,但没有发现任何对我有用的东西。event.target.className对此正确吗?

代码:

   <script type="text/javascript">
    $(document).ready(function() {
        $("body").click(function(event) {
            window.alert("clicked: " + event.target.nodeName);
        });
    });
    </script>

这可能会对您有所帮助:

<script> 
  document.onclick = function(evt) {
    var evt=window.event || evt; // window.event for IE
    if (!evt.target) evt.target=evt.srcElement; // extend target property for IE
    alert(evt.target); // target is clicked
  }
</script>

此链接也有助于

单击的DOM元素只是event.target.

在我看来像

$(document).click(function(event){
    console.log($(event.target).attr('class'));
});

会很好用的。不过,使用id可能会更好。在这种情况下,语法的效率要高一点

$(document).click(function(event){
    console.log(event.target.id);
});

如果您正在寻找元素,它只是event.target,在jQuery中选择为$(event.target)

如果正在查找单击的元素的类,

event.target.className有效,

如果你想在jQuery中使用其他功能,

你可以试试,

$(event.target).attr('class');

$(event.target).prop("class");

评论后编辑

要列出所有家长,

获取所有父节点,并将其节点名添加到变量中

var a = "";
a += event.target.nodeName;
$(event.target).parents().each(function(){
     a += " < "+$(this)[0].nodeName;
});
alert(a);

JSFIDDLE演示