我试图设置包含一个单引号的属性值:HTML属性值中是否允许单引号/双引号?
var attr_value = "It's not working";
var html = "<label my_attr='" + attr_value + "'>Text</label>";
$('body').html(html);
不过,我得到以下结果:
<label working="" not="" s="" my_attr="It">Text</label>
我怎么能解决这个问题?
属性值中是否允许使用双引号?
非常感谢您的详细解答!只是为了对'encodeHTML'的实现感到好奇:它可以使用'replace'函数来实现,对吧?效率不高吗? – 2010-10-22 12:36:24
当然可以'替换(/&/ g,'&')...'。在这种情况下,无关紧要,因为搜索字符串不能包含任何正则表达式特殊字符,但通常情况下,对于纯字符串替换'split' /'join'可以更简单,因为您可以使用搜索字符串而不必担心正则表达式逃脱。不同浏览器的性能会有所不同。 – bobince 2010-10-22 12:57:24
谢谢!你能给我一个指向“施工快捷方式”教程的指针吗? – 2010-10-22 13:34:40