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 に答える