如何将变量传递给使用JS创建的表中的函数?

问题描述 投票:0回答:3

我用JS创建了一个表,我想将行的Id传递给外部函数“COPY”。我很难做到这一点。

for (var i =1; i <= (strln/2); i++) {
// creates a table row
var row = document.createElement("tr");
row.setAttribute("id",""+i+"");
row.setAttribute("onclick",""+'COPY(i)'+"");
}
javascript html
3个回答
1
投票

除非您需要使用字符串连接和setAttribute,否则您可以尝试这样做

for( var i=1; i <= ( strln / 2 ); i++ ) {

    var row = document.createElement('tr');
        row.id=i;
        row.onclick=function(e){
            COPY( this.id )
        }.bind( row )
}

0
投票

您当前正在直接传递标识符i,但它指的是最后一次迭代后的值。可能只是直接传递值:

 'COPY(' + i + ')'

请注意,您实际上应该使用.addEventListener ...


0
投票

连接字符串,使变量获取实际值而不是变为字符串。

for (var i = 1; i <= (strln / 2); i++) {
  var row = document.createElement("tr");
  row.setAttribute("id", i);
  row.setAttribute("onclick", 'COPY("'+i+'")');
}
© www.soinside.com 2019 - 2024. All rights reserved.