我的目标是在输入中显示Sarah O'Connor
作为值。我需要转义Sarah O' Connor
以显示正确的UTF-8 html字符。
我看到了一些建议替换每个特殊字符的答案。但这肯定不是正确的方法,因为世界各地的人的名字中可能有数百个可能的字符。
我也尝试使用javascripts escape()
/ unescape()
和encodeURI()
/ decodeURI()
函数,但是它们只能作为html文本而不是输入值。
请在此处查看jsFiddle:
http://jsfiddle.net/gHHzA/
var div = $("#my-div");
var input = $("input");
var str = "Sarah O'Connor";
div.html(str); //--> Sarah O'Connor
input.val(str); //--> Sarah O'Connor
最佳答案
您可以创建一个放置HTML的元素,然后可以使用.text()
获得格式化结果,例如:
input.val($("<div>", {html:"Sarah O'Connor"}).text())