我想构建一个脚本,用一个简单的mouseclick
来识别其父元素中(未指定的)元素的索引。所点击的元素可能是span
,div
,li
或任何其他元素。
问题是我无法检索父元素的TagName / NodeName,因为我总是收到错误Uncaught TypeError: Cannot read property 'nodeName' of undefined
我的HTML看起来像这样:
<body>
<span id="test1">
<div>test</div>
</span>
<div id="test2">
<div>eins</div>
<div>zwei</div>
<div>drei</div>
</div>
</body>
我的功能如下:
$(document).on('click', function(evt){
evt.stopPropagation();
var child = evt.target.tagName;
var parent = $(evt).parent();
console.log(parent[0].nodeName);
});
根据this StackOverflow帖子,这应该是正确的,但它不起作用。
答案 0 :(得分:1)
似乎 -
$(evt).parent();
应该是 -
$(evt.target).parent();
答案 1 :(得分:1)
我想构建一个脚本来识别其父级中的(未指定的)元素的索引...
所以你只需要使用evn.target
方法$(document).on('click', function(evt) {
var index = $(evt.target).index();
alert(index);
});
指向点击的元素:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span id="test1">
<div>test</div>
</span>
<div id="test2">
<div>eins</div>
<div>zwei</div>
<div>drei</div>
</div>
&#13;
FormData()
&#13;