javascript警报中的html实体

html entities in a javascript alert?

本文关键字:html 实体 javascript      更新时间:2023-09-26

我有一个来自XML的字符串(我无法编辑),我想通过javascript中的警报打印它。

我的字符串示例:

This is à string

我需要打印一个警报:

This is à string

有js-html解码吗?

您可以将字符串放在dom元素中并再次读取,即使没有jquery:https://stackoverflow.com/a/3700369/1986499

根据最近的需求进行编辑,以包括来自另一个SO答案的一些代码:

var div = document.createElement('div');
div.innerHTML = encoded;
var decoded = div.firstChild.nodeValue;
var encoded = "This is à string";
var decoded = $("<div/>").html(encoded).text();
alert(decoded);

我只是迟到了一点,但为了防止其他人通过谷歌发现这一点(就像我一样),我想我会改进Imperative的答案。

function showbullet() {
  var tempelement = document.createElement('div');
  tempelement.innerHTML = "&bull;";
  alert("Here, have a bullet!'n" + tempelement.innerHTML);
}
showbullet();

我已经测试过了,并确认它在Chrome/43.2357.130米中有效;Firefox/32.0.1;Internet Explorer/9.08112.16421。没有必要去摆弄nodeValue和其他什么;分配完成后,实体将立即替换为其关联的字符。(但是,请注意,在我测试的任何浏览器中,执行alert(tempelement.innerHTML="&bull;");都不起作用!)