3

我查了一些 SO 问题,但找不到我想要的。所以,这里是代码和问题。

var cell=document.createElement('td');
cell.appendChild( document.createTextNode(unescape('Test <br>')));
alert("Content: " + cell.innerHTML);

我希望alert显示为,Test <br>但它显示为Test &lt;br&gt;. 我尝试了很多事情,例如在创建节点后尝试取消转义,在创建节点时尝试取消转义(上图),尝试提醒未innerHTML转义但似乎没有任何工作。无论我尝试了什么,我都未能按照我的意愿渲染输出,现在我需要你的帮助。

4

2 回答 2

1

您正在做的是创建一个 textNode < br > 并将 < 和 > 转换为 html 代码。如果您希望警报正确显示 <br> 标签,则必须插入一个元素。希望这可以帮助你

http://jsfiddle.net/7b5Yk/

var cell=document.createElement('td');
var br = document.createElement('br');
cell.appendChild( document.createTextNode(unescape('Test')));
cell.appendChild(br)
alert("Content: " + cell.innerHTML);
于 2013-02-10T20:27:25.547 回答
0

不确定您是否innerHTML出于某种原因绝对需要这样做,但如果您将其更改为innerText您应该得到所需的结果。

alert("Content: " + cell.innerText);

似乎这一切都取决于您是否真的打算添加文本,或者您是否希望它
成为实际的换行符。如果您希望它充当 td 中的换行符,您很可能应该使用 Ziinloader 的方法。

于 2013-02-10T20:28:23.067 回答