我试图逃避一些代码时遇到问题…基本上,我想逃避“<”和“>”但我希望他们在我的#output div中显示为“<”和“>”.目前,它们显示为“& lt;”和“& gt;”在页面上.
这显然是为了防止任何人在页面上利用/注入脚本.这是我的代码:
var textval = $("#textarea").val(); //textarea
filtered = textval.replace(/</gi,"<"); //replace "<"
$("#output").html(filtered); //insert textarea data into div
任何人都可以发现我做错了什么,或者有更好的办法吗?
非常感谢
编辑:我确实想要一些HTML标签(如< b>工作,所以我不能使用$.text();不幸的是..)
解决方法:
试试这个:
var textval = $("#textarea").val();
$("#output").text(textval);
jQuery提供了两种方法 – $.text()和$.html(),其中方法名称不言自明:)