国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JS遍歷ul下的li點擊彈出li的索引的實現方法

2019-11-20 08:56:54
字體:
來源:轉載
供稿:網友

首先我們需要一個html結構

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

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

接下來看看我們的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)}

我們實現了!!!

這樣就是得來我們想要的效果點擊相應的li得來相應的索引。

簡單說一下實現的過程吧

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

這是我整理立調函數或自執行函數;

本質上我們是利用閉包的原理實現彈出的索引,我們立調函數傳一個參數Index,也就是我們的索引i,在函數里面實現了閉包,

Index會一直保留在作用域塊內,這樣我們再點擊的時候,會調用作用域名內保存的索引,從而實現我們需要的功能;

我們幾個簡單的例子

    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()); // 0console.log(counter1.set(3)); // 3console.log(counter1.increment()); // 4console.log(counter1.increment()); // 5

以上所述是小編給大家介紹的JS遍歷ul下的li點擊彈出li的索引,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乐安县| 西昌市| 清镇市| 镶黄旗| 九龙城区| 清丰县| 剑阁县| 花莲县| 平山县| 故城县| 务川| 蒙自县| 陇川县| 西平县| 大名县| 溧阳市| 咸阳市| 余姚市| 扶风县| 永宁县| 富裕县| 江永县| 朝阳区| 五寨县| 东源县| 祥云县| 南溪县| 保定市| 泰州市| 田阳县| 庆城县| 杂多县| 健康| 中西区| 桑日县| 德安县| 陇南市| 伊川县| 林芝县| 永昌县| 陇南市|