我想要构建一个脚本,它用一个简单的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);
});根据这个StackOverflow线程,这应该是正确的,但它不工作。
发布于 2015-09-12 09:41:13
我想要构建一个脚本来识别它的父元素(未指定的)元素的索引.
因此,您只需将$.fn.index方法与指向单击元素的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>
https://stackoverflow.com/questions/32537298
复制相似问题