试题
考点

js语言和框架-JavaScript语言-语法相关-操作符相关

面5笔5

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

前往“校招VIP”小程序,刷题更快
最新校招难题刷题,快来进刷题群吧
解答

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)

};


评论

不闻不问不卑不亢

2021-09-12 11:40:00

0 0

薄荷

2020-12-15 16:01:03

0 0

小生不才

2020-12-15 09:35:49

0 0

加载更多