javascript - 点击弹出当前index,这段js用闭包该怎么写?
ringa_lee
ringa_lee 2017-04-11 08:58:29
[JavaScript讨论组]
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style>
li { height:30px; border-bottom:1px solid #333; }
</style>
<script>
window.onload = function (){
    var oUl = document.getElementById('list');
    var aLi = oUl.getElementsByTagName('li');
    var arr = [ '今天', '明天', '后天' ];
    var len = arr.length;
    
    for( var i=0; i<len; i++ ){
        aLi[i].innerHTML = arr[i];
        aLi[i].index=i;
        aLi[i].onclick = function (){
            alert(this.index)
        };
    }
};
</script>
</head>

<body>
<ul id="list">
    <li></li>
    <li></li>
    <li></li>
</ul>
</body>
</html>
ringa_lee
ringa_lee

ringa_lee

全部回复(2)
怪我咯
aLi[i].onclick = (function(index) {
    return function() {
        alert(index);
    };
})(i);
ringa_lee
var li=document.querySelectorAll('li'),
    ul=document.querySelector('ul');
[].forEach.call(li,function(v,i){
    v.index=i
})

ul.addEventListener('click',function(e){
    var target=e.target
    if(target.nodeName==='LI'){
        alert(target.index)
    }
},false)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号