我正在尝试测试点击页面的哪些部分。是否有一个jQuery函数可以显示被单击的元素的路径?我搜索过谷歌,但没有发现任何对我有用的东西。 event.target.className
是否可以正确使用?
代码:
<script type="text/javascript">
$(document).ready(function() {
$("body").click(function(event) {
window.alert("clicked: " + event.target.nodeName);
});
});
</script>
答案 0 :(得分:3)
这可能会对您有所帮助:
<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>
This link也很有帮助
答案 1 :(得分:2)
点击的DOM元素只是event.target。
答案 2 :(得分:0)
如果您正在寻找该元素,它只是event.target
,在jQuery中被选为$(event.target)
,
如果要查找clicked元素的类,
是event.target.className
有效,
如果你想在jQuery中使用其他函数,
你可以试试,
$(event.target).attr('class');
OR
$(event.target).prop("class");
评论后修改
要列出所有父母,
获取所有父项,并将其节点名称添加到变量
var a = "";
a += event.target.nodeName;
$(event.target).parents().each(function(){
a += " < "+$(this)[0].nodeName;
});
alert(a);
<强> JSFIDDLE DEMO 强>
答案 3 :(得分:0)
对我来说似乎
$(document).click(function(event){
console.log($(event.target).attr('class'));
});
会正常工作。尽管使用id可能会更好。在这种情况下,语法更有效率
$(document).click(function(event){
console.log(event.target.id);
});