gpt4 book ai didi

javascript - 如何获取数组中某个元素的索引

转载 作者:行者123 更新时间:2023-12-02 16:18:47 25 4
gpt4 key购买 nike

我想在 JavaScript 中获取元素数组中元素的索引。

代码如下:

function redrawchatbox(chatbox) {
//chatbox is a html element.
chatbox.remove();
variable = variable - 280;
redraw = document.getElementsByName("chatbox");
// this is the error - gives me redraw.indexOf is not a function.
closedchatbox = redraw.indexOf(chatbox);
for (i = redraw.length; i > 0; i--) {
x = i - 1;
redraw[x].style.right = (parseInt(redraw[x].style.right.replace("px", "")) - 280) + "px";
}}

我想关闭聊天框的索引,以便可以在正确的位置重绘所有聊天框。当我在重绘数组上使用 indexOf 时,它会抛出该错误。

我可以做什么来解决这个问题?

最佳答案

那是因为getElementsByName返回 HTMLCollection这是一个类似数组的对象,而不是数组。您应该将集合转换为数组,然后使用 indexOf方法。

var chatboxArr = [].slice.call(closedchatbox);
var index = chatboxArr.indexOf(chatbox);

Array.prototype.slice方法可用于创建数组的浅拷贝。在上面的代码片段中 slice方法是call编辑了该集合,因为它是 this值,结果返回一个包含 HTMLCollection 项的数组.

关于javascript - 如何获取数组中某个元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29325655/

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