jQuery - Javascript相当于PHP的htmlentities()函数

时间:2014-02-12 05:17:29

标签: jquery

有人可以向我解释为什么代码片段会像PHP htmlentities()那样表现吗?

$('<div />').text(value).html();

此外,这是否适用于新版本的jQuery?

1 个答案:

答案 0 :(得分:1)

对于在HTML中具有特殊含义的字符,似乎只是像PHP的htmlentities()一样,例如&lt;和&gt;。当您致电$('<div/>').text('<br>')时,您会创建一个div元素,然后使用文本<br>填充它。尖括号在HTML中转换为&lt;&gt;,因此它们不会被解释为HTML标记。然后div元素如下所示:

<div>&lt;br&gt;</div>

如果.text()没有转义括号,你会得到这个:

<div><br></div>

...而且不包含文字<br>,它将包含一个br元素。

在该元素上调用.html()然后获取元素内的HTML代码,其中尖括号转换为HTML实体。虽然有很多角色不会逃脱。例如,©不会转换为&copy;