在JavaScript中连接字符串的正确方法是什么?例如,我有这个:
var addmore ='<tr>'+'<td style="text-align: center">'+currentIndex+'</td>'+'<td id="small"><input style="background: white; color: black;" type="text" id="number_'+currentIndex+'" value="">'+'</td><td><input style="background: white; color: black;" type="text" id="label_'+currentIndex'"></td></tr>'
它在this fiddle中显示错误,但我找不到它。我检查了引号,看起来是正确的。
引用太多引号会导致JavaScript出现混淆和错误吗?或者"
必须在'
之外吗?
答案 0 :(得分:4)
更好,更简洁的方法:
var addmore ='<tr>'+
'<td style="text-align: center">'+currentIndex+'</td>'+
'<td id="small"><input style="background: white; color: black;" type="text" id="number_'+currentIndex+'" value=""></td>'+
'<td><input style="background: white; color: black;" type="text" id="label_'+currentIndex+'"></td>'+
'</tr>';
答案 1 :(得分:1)
对于字符串连接,我倾向于使用像python中的字符串格式。在common.js文件中代码顶部定义字符串格式,该文件由项目
中的所有页面使用试试这个(http://jsfiddle.net/9Xw8Q/1/)
if (!String.prototype.format) {
String.prototype.format = function() {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] != 'undefined'
? args[number]
: match
;
});
};
}
然后像这样使用它
currentIndex = 20
var addmore ='<tr><td style="text-align: center">{0}</td><td id="small"><input style="background: white; color: black;" type="text" id="number_{0}" value=""></td><td><input style="background: white; color: black;" type="text" id="label_{0}"></td></tr>'.format(currentIndex)
答案 2 :(得分:1)
您可以在此处查看输出:http://jsbin.com/abiduw/1/edit
currentIndex=5;
var addMore = '<tr><td style="text-align: center">'+currentIndex+'</td><td id="small"><input style="background: white; color: black;" type="text" id="number_'+currentIndex+'" value=""></td><td><input style="background: white; color: black;" type="text" id="label_'+currentIndex+'"></td></tr>';
答案 3 :(得分:0)
正确地像这样
var addmore ='<tr><td style="text-align: center">'+currentIndex+'</td><td id="small"><input style="background: white; color: black;" type="text" id="number_'+currentIndex+'" value=""></td><td><input style="background: white; color: black;" type="text" id="label_'+currentIndex+'"></td></tr>';
答案 4 :(得分:0)
试试这个:
var addmore = '<tr><td style="text-align: center">' + currentIndex + '</td><td id="small"><input style="background: white; color: black;" type="text" id="number_'
+ currentIndex + '" value="">' + '</td><td><input style="background: white; color: black;" type="text" id="label_' + currentIndex + '"></td></tr>';