【问题标题】:Javascript for loop variable not working循环变量的Javascript不起作用
【发布时间】:2016-04-08 13:06:09
【问题描述】:

我的 javascript 函数中的 for 循环有问题。变量i 不能用作函数showAlbum(i) 的参数。为什么会这样?

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>";

【问题讨论】:

    标签: javascript loops for-loop onclick


    【解决方案1】:

    因为引号中的i 是文字字符i,而不是i 变量中保存的值。您需要在引用之外对其进行评估:

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

    【讨论】:

    • 感谢您简短且解释清楚的回答。
    【解决方案2】:

    i 在字符串文字中,因此不会从字符串中解析变量。

    像这样跳出字符串:

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

    【讨论】:

      【解决方案3】:

      尝试将格式更改为:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-11
        相关资源
        最近更新 更多