适合function(e)获取index(写给自己看的)

javascript indexof()方法 获取当前点击标签的索引问题

  • javascript

html结构如下

<div οnclick="getClickIndex(e)" id="result">
    <div>1div>
    <div>3div>
    <div>2div>
    <div>3div>
    <div>4div>
    <div>8div>
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 第二个参数的检索位置的,其实那个检索位置就是索引吧。

你可能感兴趣的:(索引值的设置)