Jquery 追加输入属性值与文本值不同

Jquery 追加输入属性值与文本值不同,jquery,Jquery,在循环中,我从json中获取值,并将值和文本放在输入复选框中,但我的输出错误,它与文本值和属性值不同 我的循环: $.map(data["allLocales"], function(value, i){ if(i % 5 === 0 ){ col0 += "<label><input value="+ value.name +" type='checkbox' />"+value.name+"</label>" } else

在循环中,我从json中获取值,并将值和文本放在输入复选框中,但我的输出错误,它与文本值和属性值不同

我的循环:

$.map(data["allLocales"], function(value, i){
    if(i % 5 === 0 ){
        col0 += "<label><input value="+ value.name +" type='checkbox' />"+value.name+"</label>"
    } else if(i % 5 === 1) {
        col1 += "<label><input value="+ value.name +" type='checkbox' />"+value.name+"</label>"
    } else if(i % 5 === 2) {
        col2 += "<label><input value="+ value.name +" type='checkbox' />"+value.name+"</label>"
    } else if(i % 5 === 3) {
        col3 += "<label><input value="+ value.name +" type='checkbox' />"+value.name+"</label>"
    } else if(i % 5 === 4) {
        col4 += "<label><input value="+ value.name +" type='checkbox' />"+value.name+"</label>"
    }
})
$.map(数据[“所有语言环境]),函数(值,i){
如果(i%5==0){
col0+=“”+值。名称+“”
}else if(i%5==1){
col1+=“”+值。名称+“”
}else if(i%5==2){
col2+=“”+值。名称+“”
}else if(i%5==3){
col3+=“”+值。名称+“”
}else if(i%5==4){
col4+=“”+值。名称+“”
}
})
错误的HTML示例:

<label class="blue"><input value="Italian" type="checkbox">Italian</label>
<label class="blue"><input value="Italian" (italy)="" type="checkbox">Italian (Italy)</label>
<label class="blue"><input value="Italian" (switzerland)="" type="checkbox">Italian (Switzerland)</label>
意大利语
意大利语(意大利)
意大利语(瑞士)

这里怎么了。。?我认为属性和文本值应该完全相同

您似乎没有正确引用结果,这在处理空格时尤为重要。比如说,

    "<label><input value="+ value.name +" type='checkbox' />"+value.name+"</label>"
(意大利)
然后根据HTML5规范被视为一个空白属性,并被赋予一个值
“”

要解决此问题,请在输出值的周围添加引号:

    "<label><input value='"+ value.name +"' type='checkbox' />"+value.name+"</label>"
“”+value.name+“”
现在应呈现:

    <label><input value='Italian (italy)' type='checkbox' />Italian (italy)</label>
意大利语(意大利)

您可能还想考虑在输出值中可能出现的任何<代码> <代码>字符,但是没有证据表明它们是当前数据集的一部分。

您能向我们展示您的JSON吗?我不知道用“代码>加上一个引号”。我还是遇到了一个问题:uncaughttypeerror:Object Afrikaans没有方法'Replace'@Brewal在这种情况下,没有方法;在这种情况下,a'是值的一部分。@3gwebtrain我将删除该部分,因为它显然会引起混淆。是的,但我并没有谈论这种情况。如果将
'
替换为
'
,则将得到
value='attribute和'single quote'
value='attribute和'single quote'
替换为无效的html。
    <label><input value='Italian (italy)' type='checkbox' />Italian (italy)</label>