我用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)'+"");
}
除非您需要使用字符串连接和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 )
}
您当前正在直接传递标识符i
,但它指的是最后一次迭代后的值。可能只是直接传递值:
'COPY(' + i + ')'
请注意,您实际上应该使用.addEventListener
...
连接字符串,使变量获取实际值而不是变为字符串。
for (var i = 1; i <= (strln / 2); i++) {
var row = document.createElement("tr");
row.setAttribute("id", i);
row.setAttribute("onclick", 'COPY("'+i+'")');
}