之前写html 单或双都是随心所欲,有时候碰到属性值包含单了就用双,反之亦然。
看了css 网站布局实录,人家说要用双引号
看到这个就想起前几天改的bug了,<input type="text" value='*****' />
这里*****可以是任何值,写的时候从没想过这个问题,万一是<>'怎么办
解决方法
<input type="text" value="<%=Server.HtmlEncode("*****")%>" />
Server.HtmlEncode就是把<>&“替换成html编码
" 替换为" 这里人家可没有对’做替换,所以说最外层的用双引号
内容变成html编码了,那js取value不的做个解码,不需要,自动处理了
Server.HtmlEncode是服务器端的,客户端也很简单(用了jquery)
encode(value)
return $('<div />').text(value).html();
decode(value)
return $('<div />').html(value).text();