javascript - 获取div的索引
问题描述
如何使用 vanilla JS 获取我单击的 div 的索引。是否有类似 indexOf() 或 .selectedIndex 的方法或属性?
function test() {
var div = document.getElementsByTagName('div');
}
div.flex {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
div:hover {
cursor: pointer;
}
<div class="flex">
<div onclick="test()"><img src="http://via.placeholder.com/100x100" alt=""></div>
<div onclick="test()"><img src="http://via.placeholder.com/100x100" alt=""></div>
<div onclick="test()"><img src="http://via.placeholder.com/100x100" alt=""></div>
<div onclick="test()"><img src="http://via.placeholder.com/100x100" alt=""></div>
</div>
解决方案
您需要将 div 作为参数传递,然后使用parent.indexOf(child)
:
function test(el) {
var divs = document.querySelectorAll(".flex div");
var index = Array.from(divs).indexOf(el);
console.log(index);
}
div.flex {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
div:hover {
cursor: pointer;
}
<div class="flex">
<div onclick="test(this)"><img src="http://via.placeholder.com/100x100" alt=""></div>
<div onclick="test(this)"><img src="http://via.placeholder.com/100x100" alt=""></div>
<div onclick="test(this)"><img src="http://via.placeholder.com/100x100" alt=""></div>
<div onclick="test(this)"><img src="http://via.placeholder.com/100x100" alt=""></div>
</div>
推荐阅读
- javascript - Javascript 功能组合/排序
- arrays - 切片numpy arrayx时形状改变
- webstorm - 修复 ESLint:在 WebStorm 上插入 `·`(prettier/prettier)
- abap - 将 X 添加到内部表的第一行
- python-3.x - 从 python 模块运行脚本
- expression - 我想要这个查询的不同答案
- facebook - 是否可以通过 Facebook Messenger Platform 使用标题丰富来验证用户身份?
- angular - openFullscreen() 第二次调用时抛出错误
- php - 无法使用 PHP 连接到 ms 数据库
- flutter - 我想在构建之前获得一个固定宽度的小部件高度