欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS遍歷ul下的li點(diǎn)擊彈出li的索引的實(shí)現(xiàn)方法

 更新時(shí)間:2016年09月19日 14:03:09   作者:胖子愛學(xué)習(xí)  
這篇文章主要介紹了JS遍歷ul下的li點(diǎn)擊彈出li的索引的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下

首先我們需要一個(gè)html結(jié)構(gòu)

<div >
<ul>
<li>a</li>
<li>a</li>
<li>a</li>
<li>a</li>
<li>a</li>
</ul>
</div>

我們遍歷ul 下所有的li 并添加點(diǎn)擊事件,一般我們會(huì)在for循環(huán)里面添加點(diǎn)擊事件,但是結(jié)果和我們所期盼不一樣,那么是為什么呢????

接下來看看我們的js代碼

var li = document.getElementsByTagName('li');
for(var i = 0;i<li.length;i++){ 
(function(Index){
li[i].addEventListener('click',function(e){
alert('I am link #'+ Index );
},false);
})(i)
}

我們實(shí)現(xiàn)了?。?!

這樣就是得來我們想要的效果點(diǎn)擊相應(yīng)的li得來相應(yīng)的索引。

簡單說一下實(shí)現(xiàn)的過程吧

(function () { /* code */ } ()); // 推薦使用這個(gè)
(function () { /* code */ })(); // 但是這個(gè)也是可以用的

這是我整理立調(diào)函數(shù)或自執(zhí)行函數(shù);

本質(zhì)上我們是利用閉包的原理實(shí)現(xiàn)彈出的索引,我們立調(diào)函數(shù)傳一個(gè)參數(shù)Index,也就是我們的索引i,在函數(shù)里面實(shí)現(xiàn)了閉包,

Index會(huì)一直保留在作用域塊內(nèi),這樣我們再點(diǎn)擊的時(shí)候,會(huì)調(diào)用作用域名內(nèi)保存的索引,從而實(shí)現(xiàn)我們需要的功能;

我們幾個(gè)簡單的例子

    function num(){
var i = 0;
return function(){
console.log(i++);
}
}
var counter = num();
console.log(counter()); // 0     console.log(counter()); // ?? 
 var counter1 = (function(){
var i = 0;
return {
get:function(){
return i;
},
set:function(val){
i = val;
},
increment:function(){
return ++i;
}
}
}());     
    console.log(counter1);
    console.log(counter1.get()); // ?
    console.log(counter1.set(3)); // ?
    console.log(counter1.increment()); // ?
    console.log(counter1.increment()); // ?
console.log(counter1);
console.log(counter1.get()); // 0
console.log(counter1.set(3)); // 3
console.log(counter1.increment()); // 4
console.log(counter1.increment()); // 5

以上所述是小編給大家介紹的JS遍歷ul下的li點(diǎn)擊彈出li的索引,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評論