Javascript/jQuery - 转换特殊的html字符

Ale*_*lex 7 html javascript jquery

我有一个pre带有一些html代码的元素.代码中包含特殊字符<,因此它不会破坏页面.

然后我有一个javascript函数,它获取这个pre元素的内容,突出显示它(使用codemirror),并用突出显示的文本替换元素内容.

我正在使用$("pre").append(...);这个.问题是,突出显示后,我在屏幕上看到的&lt;不是<.如何将这些字符转换回html?

Mat*_*ela 10

您应该使用.text()方法从pre获取代码.这样您就不会将编码符号提供给代码突出显示器.


jAn*_*ndy 9

我不知道你的html会发生什么(以及为什么会发生),但你可以使用jQuerys .text().html()解码/编码html entitiys,如:

HTML

<div id="test">&lt;&lt;</div>
Run Code Online (Sandbox Code Playgroud)

jQuery的:

var t = $('#test');
t.html(t.text()); // will print "<<"
Run Code Online (Sandbox Code Playgroud)

例如:http://www.jsfiddle.net/fphw3

更新

由于您提到您.html()用来读取元素的值,因此调用可以.text()解决您的问题.