2016-04-08 17 views
2

javascript関数の中で私のforループに問題があります。変数iは、関数showAlbum(i)の引数として機能しません。なぜそれが起こっているのですか?変数は文字列から解析されないようJavascript forループ変数が機能しない

var out = "<table>"; 
for(i = 0; i < arr.length; i++) { 
      out += "<tr><td><a href=''onclick='showAlbum(i);' >"+ 
       arr[i].artist + 
       " - " + 
       arr[i].title + 
       "</a></td></tr>"; 
     } 
out += "</table>"; 

答えて

4

iは相場に包まれているのでリテラル文字あなたi変数内に保持された値は、Iではありません。あなたは、引用の外にそれを評価する必要があります。

out += "<tr><td><a href=''onclick='showAlbum(" + i + ");' >" 
+0

短いとうまく説明の答えをありがとう。 –

4

iは、リテラル文字列の範囲内です。そのような文字列のうち

ブレイク:

out += "<tr><td><a href=''onclick='showAlbum(" + i + ");' >"+ 
//           ^^^^^^^^^ 
0

はに書式を変更してみてください:

var i, 
    out = '<table>'; 
for (i = 0; i < arr.length; i++) { 
    out += '<tr><td><a href="" onclick="showAlbum(' + i + ')" >' + 
     arr[i].artist + 
     ' - ' + 
     arr[i].title + 
     '</a></td></tr>'; 
} 
out += '</table>'; 
関連する問題