校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > js语言和框架 > 语法相关-操作符相关
题目

往ul里面插入n个li,点击某个li打印当前序号 

解答

1.html的基本结构:

<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>


2.js实现部分:

    1.使用立即执行函数

var liList = document.getElementsByTagName('li')
for (var i = 0; i < liList.length; i++) {

(function(i){

liList[i].onclick = function(){

console.log(i)

}

})(i)

};

    2.使用ES6的let

var liList = document.getElementsByTagName('li')

for (let i = 0; i < liList.length; i++) {

liList[i].onclick = function(){

console.log(i)

}

};

    3.forEach实现

var liList = document.getElementsByTagName('li')

var liArr = [].slice.call(liList)//将liList这个类数组转化成数组,forEach只能遍历数组

liArr.forEach(function(ele,i){

ele.onclick = function(){ console.log(i) }

})

    4.call方法,这个是查看forEach 的pollfill想出来的

var liList = document.getElementsByTagName('li')

function fun(idx){

this.onclick = function(){ console.log(idx) }

}

for (var i = 0; i < liList.length; i++) {

fun.call(liList[i],i)

};


C 3条回复 评论
不闻不问不卑不亢

深入浅出

发表于 2021-09-12 11:40:00
0 0
薄荷

这…………

发表于 2020-12-15 16:01:03
0 0
小生不才

嗯嗯,又学到了新知识

发表于 2020-12-15 09:35:49
0 0