Javascript 获取所选DOM元素的索引返回-1?
我为click事件绑定相册_项,并希望获取框的索引。但是我得到了-1 HTMLJavascript 获取所选DOM元素的索引返回-1?,javascript,jquery,html,Javascript,Jquery,Html,我为click事件绑定相册_项,并希望获取框的索引。但是我得到了-1 HTML 您正在尝试选择一个不存在的元素: find函数搜索给定元素的子元素,在本例中为.album\u项。所以,.album_项下没有任何子元素,这就是它的索引为-1的原因 相反,必须使用“最近”函数才能向上搜索DOM树: $(document).on('click', '.album_item', function () { alert($(this).closest('.box_album_item')
您正在尝试选择一个不存在的元素: find函数搜索给定元素的子元素,在本例中为.album\u项。所以,.album_项下没有任何子元素,这就是它的索引为-1的原因 相反,必须使用“最近”函数才能向上搜索DOM树:
$(document).on('click', '.album_item', function () {
alert($(this).closest('.box_album_item').index());
});
应该是:
alert($(this).closest('.box_album_item').index());
.find将元素的内部传递给子元素。
.最接近父对象的向上遍历。
因此,在您的情况下.box\u album\u项是父项,因此应使用.nexist
alert($(this).closest('.box_album_item').index());
使用id代替class在.album\u项中没有.box\u album\u项,您的关系是反向的。它还值得一读,它告诉您索引将返回-1的确切时间和原因。有人想说明他们为什么要向下投票吗?
alert($(this).closest('.box_album_item').index());
alert($(this).closest('.box_album_item').index());
$(document).on('click', '#album_item', function () {