编写字符串连接的正确方法
在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中的混淆和错误?或者必须"
超出'
?
一个更好,更整洁WA y要这样做:
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>';
适当的这样的
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>';
为什么downvote .. ??任何理由 – Gautam3164 2013-05-10 07:42:55
它不是我投票你。让我给你投票! ;) – yvonnezoe 2013-05-10 07:44:19
试试这个:
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>';
谢谢你,upvote! – yvonnezoe 2013-05-10 07:44:38
对于字符串concatination我倾向于在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)
谢谢您分享知识!这可以是我未来的参考。 +1 – yvonnezoe 2013-05-10 08:01:18
你可以在这里看到的输出: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>';
感谢您介绍jsbin! +1 – yvonnezoe 2013-05-10 08:08:59
语法突出显示有时很有用。滚动浏览并查看事情的不同之处。 – alex 2013-05-10 07:41:04
'id =“label _'+ currentIndex'”'缺少'+'。 – Ohgodwhy 2013-05-10 07:41:27
哦,我的!谢谢! – yvonnezoe 2013-05-10 07:43:39