超全模态模型 × Harness 升级,升级解锁 ArkClaw,最新支持 DeepSeek-V4 系列与 GLM-5.1
核心问题是正序遍历动态DOM集合时删除元素引发的索引偏移。元素的option集合是动态更新的类数组结构:当你删除索引为i的option后,原本索引为i+1的option会自动前移到i的位置,后续循环中i继续递增,就会直接跳过这个刚移过来的元素。你原有代码中即使同步修改了sonsLength的值,也无法解决索引偏移的问题,所以单次点击只能删除部分选项,需要多次点击才能删完所有非目标选项。 修复方案 # 下面提供两种改动小、稳定性高的实现方式: 方案1:倒序遍历(改动最小) # 从最后一个option往前遍历,删除后续元素不会影响还未遍历的前序元素的索引,不会出现漏判: const menu = document.querySelector("#menu"); menu.addEventListener("click", () => { // 从最后一项倒着遍历到第一项 for (let i = menu.length - 1; i >= 0; i--) { if (menu[i].value !== "Select") { menu.removeChild(menu[i]); } } }) 方案2:预筛选目标元素再批量删除 # 先把所有需要删除的option筛选出来存入静态数组,再遍历删除,完全规避动态集合的索引问题,语义更清晰: const menu = document.querySelector("#menu"); menu.addEventListener("click", () => { // 先转成静态数组筛选出要删除的元素,再批量删除 const toRemove = Array.from(menu.options).filter(opt => opt.value !== "Select"); toRemove.forEach(opt => menu.removeChild(opt)); }) 你原有HTML代码不需要做任何修改,替换JS逻辑即可实现单次点击删除所有非Select选项的需求。 内容的提问来源于stack exchange,提问作者javi-ur96
超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起
模型再升级,30秒超长叙事, 模态参考扩容
模型自由,工具不限,最新支持 Deepseek-V4 系列、GLM-5.3 系列
超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列
大模型19元起,Al应用9.9元畅享,新人首购爆款尽享优惠