我有一个函数,它应该从 id 标识的列表中删除 li 元素。 我使用 JQuery 和这个调用
$("#selector").find("li[id='" + id.substring(4) + "']").remove();
单击按钮即可开始通话。 在 Firefox 中它可以正常工作...在 Chrome 中则不然。
有人知道为什么吗?
该问题可能是由于 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);