html+绑定两个标签,Js 循环绑定 html 标签

今天工作需要做一个循环绑定 所有 标签,做出来后全都绑定了最后一个,很是纳闷, 后来到网上一查竟然少了一个叫闭包东东,那什么叫闭包呢!

按照面向对象的JAVA语言的理解可以解释为:js循环动态绑定带参数函数中的参数,其实相当于java中的引用传递,而非值传递。传递进来的引用只相当于一个指针,指向的是一个内存地址,这个内存地址存放的才是具体的值,而外面的循环会不断的修改这个存放地址中的值,所以最后循环结束之后,参数的值只能找到最后一个。

知道了原因就很好解决了。New一个新的“函数类”。

Code

function selBind(){

var selectObj = document.getElementsByTagName("select");

var len = selectObj .length;

for (var i=0;i

{

var myBind= new bind( "select"+i ); //解决闭包问题,new一个新的函数类

selectObj[i].onchange = myBind.bindObj;

}

}

function bind(para)  //解决动态绑定闭包问题要用到函数

{

this.bindObj = function()

{

alert(para);  //可以调用相应的函数;

}

}

selBind();   //测试

参考网站: http://www.jb51.net/article/25268.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值