我正在尝试使用javascript将时间标记×
添加到HTML模板。不幸的是,HTML正在将&符号字符代码作为字符串读取。我该如何解决这个问题?
HTML:
<button id='b'>Add Symbol</button>
<div>×</div>
<div id='container'></div>
JS:
document.getElementById('b').onclick = addSymbol;
function addSymbol() {
var pTag = document.createElement('p');
var pTagContent = document.createTextNode('×');
pTag.appendChild(pTagContent);
var container = document.getElementById('container');
container.appendChild(pTag);
}
答案 0 :(得分:3)
当您使用createTextNode
javascript不解析html或实体时,您需要使用innerHTML
让它显示实体。
var pTag = document.createElement('p');
pTag.innerHTML = '×';
答案 1 :(得分:2)
这个怎么样?
var pTagContent = document.createTextNode("\u00d7");
将该符号转换为十六进制,然后在js中将其转义。
答案 2 :(得分:0)
如果你的HTML是UTF-8编码的(<meta charset="utf-8">
中的<head>
),你只需写下:
var pTagContent = document.createTextNode('×');