如何将变量传递给使用 JS 创建的表中的函数?
2018-03-03
35
我用 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)'+"");
}
3个回答
除非您需要使用字符串连接和
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 )
}
Professor Abronsius
2018-03-03
您当前正在直接传递标识符
i
,但这指的是最后一次迭代后的值。可能只是直接传递该值:
'COPY(' + i + ')'
请注意,您实际上应该使用
.addEventListener
...
Jonas Wilms
2018-03-03
连接字符串使得变量获取实际值而不是成为字符串。
for (var i = 1; i <= (strln / 2); i++) {
var row = document.createElement("tr");
row.setAttribute("id", i);
row.setAttribute("onclick", 'COPY("'+i+'")');
}
void
2018-03-03