我想应用jQuery text()方法来转义包含<等字符的html内容。或者> 这个相同的内容“预先”到div块,这就是我需要<和>被逃脱
在这个例子中我无法弄清楚如何这样做:http://jsfiddle.net/n28uf/2/
<div class="container"></div>
jQuery(function(){
var content = '<hello world>';
jQuery('.container').prepend(content);
// Where should I apply the .text() method?
});
我试过了:
jQuery('.container').prepend(jQuery.text(content));
但我收到此错误消息:
Uncaught RangeError: Maximum call stack size exceeded
http://jsfiddle.net/n28uf/2/知道我应该对代码进行哪些更改以使其正常工作?
感谢
答案 0 :(得分:2)
如何预先设置包装器div,然后使用.text()
填充它?
jQuery(function(){
var content = '<hello world>';
jQuery('.container').prepend('<div class="foo"></div>');
jQuery('.foo').text(content);
});
答案 1 :(得分:1)
text()
将内容添加到临时jQuery对象以逃避它。html()
从临时对象中检索转义的内容。示例代码:
<div class="container"></div>
<script type="text/javascript">
jQuery(function(){
var content = '<hello world>';
var escapedContent = jQuery('<div></div>').text(content).html();
jQuery('.container').prepend(escapedContent);
});
</script>
这会产生以下生成的HTML源代码:
<div class="container"><hello world></div>
简而言之,使用text()
来转义内容,并使用html()
检索它而不会丢失转义的字符。