【问题标题】:JavaScript replace special HTML (&character; format) character in a StringJavaScript 替换字符串中的特殊 HTML(&character; 格式)字符
【发布时间】:2021-01-16 22:29:21
【问题描述】:

我正在尝试将用 html 编写的平方根符号替换为“√”(√)。 我使用以下行将其替换为空格,但它根本不会更改字符串。

dig = document.getElementById("dig").innerHTML;
dig = dig.replace(/'√'/g, ' ');
console.log(dig);
<div id="dig">√25</div>

我在这里做错了什么?

【问题讨论】:

  • 挖 = √25
  • @Arwa 您正在访问 HTML 元素的 innerTextinnerHTML 吗?
  • @Countour-Integral 是的,我正在访问 innerHTML
  • 尝试使用dig.replaceAll(radic, ' ');
  • @Ivar 之前试过,没用 :(

标签: javascript regex string replace


【解决方案1】:

如果您正在访问ElementinnerTextinnerHTML 属性,则此答案有效。

let s = document.getElementById("sqrt")
console.log("Text", s.innerText)
console.log(s.innerText.replace(/√/g, ""))
console.log(s.innerHTML.replace(/√/g, ""))
<div id="sqrt"> √2 == 1.4142</div>

如您所见,√ 被评估,然后它的值是 而不是那个。 javascript replace 方法无法理解 &radic 所以你可以直接替换

也不需要使用正则表达式,你可以用"√"做同样的事情

【讨论】:

  • 技术说明:HTML 解析器在将 √ 和其他字符实体放入 DOM 之前,用它们的字符表示替换它们。 JavaScript 在检查 DOM 时看不到字符序列 &raddic;,因为它从未被放在那里。
猜你喜欢
  • 2016-09-27
  • 2011-05-31
  • 2015-11-27
  • 2014-12-07
相关资源
最近更新 更多