美好的一天,我需要一些JS的帮助。
说我有这个HTML:
<div>
<div onclick="countPos()"></div>
<div onclick="countPos()"></div>
<div onclick="countPos()"></div>
</div>
当我点击一个div(在父&#39; s div中)时,我想要一个JS函数来关闭,这将返回该div的位置。所以,如果我点击第三个div - 返回3,如果我点击第一个div - 返回1,依此类推。 我该怎么办呢?
答案 0 :(得分:2)
您需要将当前点击的元素发送到函数
<div onclick="countPos(this)"></div>
然后在函数中,您可以在父级中创建array
个元素,然后找到索引。
function countPos(elem){
var nodeList = Array.prototype.slice.call( elem.parentNode.children );
var index = nodeList.indexOf( elem ) + 1;
// do your stuff with index
}
<强> FIDDLE 强>
答案 1 :(得分:0)
我建议给每个div一个id,并将该值传递给JS函数。有点像...
<div>
<div id="div1" onclick="countPos(this.id)"></div>
<div id="div2" onclick="countPos(this.id)"></div>
<div id="div3" onclick="countPos(this.id)"></div>
</div>