国产探花免费观看_亚洲丰满少妇自慰呻吟_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的索引,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西安市| 西乌珠穆沁旗| 东光县| 临猗县| 汝阳县| 浦城县| 舒城县| 丹东市| 文水县| 留坝县| 龙南县| 沙河市| 全椒县| 镇原县| 南宫市| 金乡县| 鄂托克旗| 山东省| 柘城县| 赤壁市| 重庆市| 荔波县| 凤凰县| 上杭县| 子洲县| 尉氏县| 兴义市| 万安县| 班玛县| 东明县| 卓尼县| 合肥市| 寻甸| 金寨县| 黄大仙区| 化隆| 宜阳县| 赫章县| 青州市| 镇雄县| 新竹县|