gpt4 book ai didi

javascript - Array.prototype.indexOf.call 的问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:49:49 25 4
gpt4 key购买 nike

如果我单击元素“Link1”,则函数中的目标是节点 Link1。我想知道这个节点在 ul 子节点中的哪个索引中,在这种情况下我希望 indexOf 返回 0,因为 Link1 位于位置 0,我单击 2 我希望它为 1。

HTML

<div class="link">
<ul>
<li><a>Link1</a></li>
<li><a>Link2</a></li>
</ul>
</div>

JavaScript

self.query('.link').forEach(function(linkNode, flikIndex, flikArr) { 
dojo.query(linkNode, 'click', function(e) {
var t = e.target; //If i click Link1 this is Link1 and if i click Link2 and so on.
var parent = t.parentNode; //Contains the parent to my a in this case li
var ancestor = t.parentNode.parentNode.childNodes; //Containes 2 li
var index = Array.prototype.indexOf.call(parent, ancestor); //Return -1 but i want it to return 0 because Link1 is on place [0] in the array.

}
}

请帮我找到正确的索引

最佳答案

var index = Array.prototype.indexOf.call(parent, ancestor);
// ^ Array ^ Element in the array

所以你想要这个:

var index = Array.prototype.indexOf.call(ancestor, parent);

因为 ancestor 是包含 parent 的元素(“数组”)。

关于javascript - Array.prototype.indexOf.call 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17167628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com