首页  >  问答  >  正文

select.remove()方法的行为令人费解

<p>所以我在AgilePoint中使用JavaScript进行工作。 我已经实现了一个函数,用于从下拉菜单中删除特定选项,但最终结果非常奇怪。以下是示例代码: enter image description here</p> <p>所以在这里我设置了一个简单的条件,如果条件为真,我想要删除第一个选项,第三个和第四个选项。但最终,它只删除了第一个和第四个选项,第三个选项还在。 enter image description here</p> <p>最后一个选项也需要被删除,但我不明白为什么它忽略了第二行。</p>
P粉322918729P粉322918729450 天前501

全部回复(1)我来回复

  • P粉818125805

    P粉8181258052023-08-19 00:11:11

    原因是,如果你运行以下代码来移除第0个元素:

    select.remove(0);

    第2个和第3个元素将不再是第2个和第3个,而是变成了第1个和第2个,因为第0个元素被移除了。

    快速解决方案是从最大的索引到最小的索引进行移除:

    select.remove(3);
    select.remove(2);
    select.remove(0);

    回复
    0
  • 取消回复