通过JavaScript将Ampersand字符代码添加到HTML

时间:2017-01-12 20:55:24

标签: javascript html

我正在尝试使用javascript将时间标记×添加到HTML模板。不幸的是,HTML正在将&符号字符代码作为字符串读取。我该如何解决这个问题?

HTML:

<button id='b'>Add Symbol</button>
<div>&times;</div>
<div id='container'></div>

JS:

document.getElementById('b').onclick = addSymbol;
function addSymbol() {
    var pTag = document.createElement('p');
  var pTagContent = document.createTextNode('&times;');
  pTag.appendChild(pTagContent);

  var container = document.getElementById('container');
  container.appendChild(pTag);
}

https://jsfiddle.net/a2w1w0n3/

3 个答案:

答案 0 :(得分:3)

当您使用createTextNode javascript不解析html或实体时,您需要使用innerHTML让它显示实体。

var pTag = document.createElement('p');
pTag.innerHTML = '&times;';

答案 1 :(得分:2)

这个怎么样?

var pTagContent = document.createTextNode("\u00d7");

将该符号转换为十六进制,然后在js中将其转义。

答案 2 :(得分:0)

如果你的HTML是UTF-8编码的(<meta charset="utf-8">中的<head>),你只需写下:

var pTagContent = document.createTextNode('×');