<table id="big">
<tr>
<td><div></div></td>
<td><div></div></td>
</tr>
</table>var tds = this.getElementById("big").getElementsByTagName("td") ;
//我想给td加一个点击事件,但这里有个问题需要处理,就是我需要点时传一个值给它进行处理,这个值只能在绑定事件时计算得到,但我现在采用的这种方式是无法进行值赋值的,因为click内部值是它当时数值。我应如何修改这种代码呢?
for(var i = 0; i < tds.length; i++)
{
tds[i].onclick= function (){ 需要根据 i 数值处理内容... } }
<tr>
<td><div></div></td>
<td><div></div></td>
</tr>
</table>var tds = this.getElementById("big").getElementsByTagName("td") ;
//我想给td加一个点击事件,但这里有个问题需要处理,就是我需要点时传一个值给它进行处理,这个值只能在绑定事件时计算得到,但我现在采用的这种方式是无法进行值赋值的,因为click内部值是它当时数值。我应如何修改这种代码呢?
for(var i = 0; i < tds.length; i++)
{
tds[i].onclick= function (){ 需要根据 i 数值处理内容... } }
tds[i].onclick= function (n){return function(){ 需要根据 i 数值处理内容... }}(i)
}
tds[i].onclick= function (n){return function(){ 需要根据 n 数值处理内容... }}(i)
}
<table id="big">
<tr>
<td><div>1</div></td>
<td><div>2</div></td>
</tr>
</table><script type="text/javascript">
onload = function(){
var tds = document.getElementById("big").getElementsByTagName("td") ;
for(var i = 0; i < tds.length; i++){
tds[i].onclick= (function (n){
return function(){
alert(n);
}
})(i);
}
}
</script>
//这个i就是你需要的数值0,1,2,3。
});