我从后端获取值并创建一组复选框,其中一个值没有正确设置我的复选框..
测试如下:“法语(科特迪瓦)”
但是在输出中我得到的结果如下:
<label><input value="French (Cote d" ivoire)'="" type="checkbox">French (Cote d'Ivoire)</label>
我明白,“'” - 必须scape。因为我做了替换工作,但问题仍然没有解决,
这是我的尝试:
$.map(data["allLocales"], function(value, i){
var name = value.name;
name.replace("'", """) even i tried name.replace("'", "\'") - no luck
if(i % 5 === 0 ){
col0 += "<label><input value='"+ name +"' type='checkbox' />"+name+"</label>"
}else if(i % 5 === 1){
col1 += "<label><input value='"+ name +"' type='checkbox' />"+name+"</label>"
}else if(i % 5 === 2){
col2 += "<label><input value='"+ name +"' type='checkbox' />"+name+"</label>"
}else if(i % 5 === 3){
col3 += "<label><input value='"+ name +"' type='checkbox' />"+name+"</label>"
}else if(i % 5 === 4){
col4 += "<label><input value='"+ name +"' type='checkbox' />"+name+"</label>"
}
})
如何正确地逃离“'” - 单个cote,以及任何其他特殊字符,如
$, &,%
如果我将来如何处理这些情况..?
答案 0 :(得分:1)
使用$(element).attr(attrName, value)
修改属性,使用$(element).text(value)
修改文字内容。
不要自己操纵/连接HTML,因为错误的代码很容易导致安全问题。