JQuery 在 ul 中查找 li 元素

问题描述 投票:0回答:1

我有一个函数,它应该从 id 标识的列表中删除 li 元素。 我使用 JQuery 和这个调用

$("#selector").find("li[id='" + id.substring(4) + "']").remove();

单击按钮即可开始通话。 在 Firefox 中它可以正常工作...在 Chrome 中则不然。

有人知道为什么吗?

jquery google-chrome firefox element
1个回答
0
投票

该问题可能是由于 Chrome 和 Firefox 处理某些 JavaScript/jQuery 功能的方式不同造成的。尝试以下操作:

1:确保 id.substring(4) 返回正确的值。使用console.log(id.substring(4))来验证。

2:对ID中的特殊字符进行转义: JavaScript

var safeId = id.substring(4).replace(/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g, " \$1"); $("#selector").find("li[id='" + safeId + "']").remove();

3:将删除代码包装在 setTimeout 中以处理回流问题: JavaScript

设置超时(函数() {

enter code here
$("#selector").find("li[id='" + safeId + "']").remove(); }, 0);

© www.soinside.com 2019 - 2024. All rights reserved.