要求使用DOM内关于事件和元素结点的相关知识达成点击按钮输出对应行某列数据的功能
效果图![效果图](https://i-blog.csdnimg.cn/blog_migrate/c5aa8cf1aaad174862fc00851e9bd0b7.png)
代码实现
<script>
window.onload = function(){
var allA = document.getElementsByTagName('a');
var tab = document.getElementById('tab');
//方法一
// for(var i = 0;i<allA.length;i++){
// var A = allA[i];
// A.index = i;
// A.onclick = function(){
// var cell = document.getElementById('tab').rows[(this.index+1)].cells[1];
// alert(cell.innerText);
// };
//方法二
for(var i = 0;i<allA.length;i++){
(function ( i ) {
var A = allA[i];
A.index = i;
A.onclick = function(){
var cell = document.getElementById('tab').rows[(this.index+1)].cells[1];
alert(cell.innerText);
}
})(i)
};
};
</script>
闭包理解
- 产生闭包的条件?
- 函数嵌套
- 内部函数引用了外部函数的数据(变量/函数)
- 常见的闭包
- 将函数作为另一个函数的返回值
- 将函数作为实参传递给另一个函数调用