html结构如下
<div onclick="getClickIndex(e)" id="result">
<div>1</div>
<div>3</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>8</div>
</div>
js 代码
var data=[1,3,2,3,4,8];//#result的数据来自这
function getClickIndex(e) {
var node = e.target;
var nodearr=node.parentNode.children
var index= data.indexOf.call(nodearr, node);
return index;
}
上面能返回点击的标签 在#result 下的索引,主要是不明白 indexof.call()的结果为什么会是点击的那个索引,因为根据W3C 上面的解释,应该是返回第一次出现的索引。
下面是W3C的解释
首先谢谢各位的帮助,但是我还是有一点疑惑,indexof 是获取第一次出现的索引,当没有重复的元素还好理解,但是如上面的 如果出现重复了 他是怎么给indexof 第二个参数的检索位置的,其实那个检索位置就是索引吧。