Jquery 在元素属性中设置时如何正确转义特殊字符
我正在从后端获取值并创建一组复选框,其中一个值未正确设置为我的复选框 测试内容如下:“法语(科特迪瓦)” 但在输出中,我得到如下结果:Jquery 在元素属性中设置时如何正确转义特殊字符,jquery,attributes,Jquery,Attributes,我正在从后端获取值并创建一组复选框,其中一个值未正确设置为我的复选框 测试内容如下:“法语(科特迪瓦)” 但在输出中,我得到如下结果: <label><input value="French (Cote d" ivoire)'="" type="checkbox">French (Cote d'Ivoire)</label> 如果我将来知道如何处理这种情况。使用$(元素).attr(属性名,值)修改属性,使用$(元素).text(值)修改文本内容 不要自己操
<label><input value="French (Cote d" ivoire)'="" type="checkbox">French (Cote d'Ivoire)</label>
如果我将来知道如何处理这种情况。使用$(元素).attr(属性名,值)
修改属性,使用$(元素).text(值)
修改文本内容
不要自己操纵/连接HTML,因为错误的代码很容易导致安全问题。在这种情况下,我将对元素进行分组。。如何处理?你能给我演示一下吗。。还是样本?当我这样分组时:col0+=$(“”)。text(name);我得到的结果是“object”-在htmlYour代码中似乎不完整,因此我将演示这个概念:
col0=$('').text(name).prepend($('').val(name))代码>作为旁白:如果您要创建对象的col0…4
属性而不是局部变量,那么您就可以通过编程方式访问它们,var cols={col0:'',col1:'',};cols['col'+i%5]
您可以删除那个大条件,只需在一次调用中处理所有内容。或者,如果它们是全局变量,您可以使用窗口['col'+i%5]
实现相同的效果。是的,您是正确的。谢谢
$.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>"
}
})
$, &,%