You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jQuery移除指定ID的li元素在Chrome中失效,求原因

排查思路与解决办法

先给你个最直接的修改方案,把代码换成直接用ID选择器,别用属性选择器试试:

$("#" + id.substring(4)).remove();

原因是Chrome对属性选择器的解析比Firefox更严格,比如如果id.substring(4)返回的内容里有特殊字符(比如.、#或者空格),用[id='xxx']这种写法很容易匹配失败,而直接用#xxx的话,jQuery会自动处理ID里的特殊字符转义,兼容性更好。

如果改完还是不行,按这几个步骤排查:

  • 先在Chrome控制台里打印console.log(id.substring(4)),看看拿到的是不是目标li的真实ID,会不会在Chrome里id变量的值和Firefox不一致?比如有些场景下浏览器对元素ID的大小写处理有差异?
  • 验证选择器能不能找到元素:在控制台里直接执行$("#selector").find("li[id='" + id.substring(4) + "']"),看返回的jQuery对象长度是不是1,要是0就说明选择器根本没匹配到元素。
  • 检查点击事件有没有触发:在按钮的点击回调里加个console.log('按钮触发了'),看看Chrome控制台有没有输出,排除事件绑定失败的问题。

内容的提问来源于stack exchange,提问作者sunics

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 03:42:02