我有以下 JS 代码,我想用 $
符号替换所有 ₪
(₪)。
$(this).html($(this).html().replace(/₪/g,'$'));
但是它没有做任何事情。我还尝试转义特殊字符(因为我不知道哪些需要,哪些不需要),但这也不起作用。
最佳答案
当您访问 innerHTML
(或 jQuery 的 html()
)时,浏览器会重新创建 HTML 作为 DOM 的表示。这意味着只有在必要时,才会在 innerHTML
的输出中对可能已在原始 HTML 中编码的字符进行编码,以确保可以解析生成的 HTML。由于 ₪ 不是 HTML 结构的语法部分,因此不会对其进行编码。
tl;dr,替换文字字符:
.replace(/₪/g,'$')
或者,如果您不确定文件的编码,请使用 Unicode 转义序列:
.replace(/\u20AA/g,'$')
关于JavaScript RegEx 取代 HTML 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8473362/