1

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>'

このフィドルにエラーが表示されますが、見つかりません。引用符を確認しましたが、正しいようです。

引用符が多すぎると、JavaScript で混乱やエラーが発生しますか? または"外でなければなりません'か?

4

5 に答える 5

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>';
于 2013-05-10T07:54:40.287 に答える
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)
于 2013-05-10T07:52:59.700 に答える
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>';
于 2013-05-10T07:54:05.760 に答える
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>';
于 2013-05-10T07:41:03.993 に答える
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>';
于 2013-05-10T07:41:12.040 に答える