• 【javascript每日一练】- 利用闭包


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>闭包</title>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
    $(function(){
    	$('#test li').click(function(){
    		var index=$('#test li').index($(this));
    		alert(index);	
    	})
    })
    </script>
    </head>
    
    <body>
    <ul id='test'>
        <li>这是第一条</li>
        <li>这是第二条</li>
        <li>这是第三条</li>
    </ul>
    </body>
    </html>
    

     利用闭包,代码简洁但增加了内存消耗

    	var ele=$('#test');
    	var liNode=ele.find('li');
    	var len=liNode.length;
    	for(var i=0;i<=len-1;i++){
    		liNode[i].onclick=(function(x){
    			return function(){
    				console.log(x);
    				//return x;
    			}
    		})(i)
    	}
    

     增加自定义属性,改变了html代码

        var ele=$('#test');
    	var liNode=ele.find('li');
    	var len=ele.find('li').length;
    	for(var i=0;i<=len-1;i++){
    		ele.find('li').eq(i).attr('index',i);
    		ele.find('li').eq(i).click(function(){
    			alert($(this).attr('index'));
    		})
    	}
    
  • 相关阅读:
    弹出层layer的使用
    SQL Server SQL分页查询
    C#过滤html标签
    SQLServer ForXmlPath应用
    js调用soapWebService服务
    MediaWiki使用指南
    阿里云金融云服务器配置
    VS无法启动 IISExpress web 服务器
    mysql服务突然丢失解决方案
    [k8s]通过openssl生成证书
  • 原文地址:https://www.cnblogs.com/positive/p/3596599.html
Copyright © 2020-2023  润新知