笔试题 | 在ul中插入1000个li,点击li显示li的序号

题干如题目所示,在点击li显示序号的过程中使用了闭包,此方法没有考虑优化的问题,如果li增加页面加载会很迟缓.我会后续进行修改.

    
    window.onload = function(){
    			var oUi = document.getElementsByTagName("ul");
    			var str = "";
    			for(let i=0;i<100000;i++){
    				str += "
  • li
  • "; } oUi[0].innerHTML = str; var lii=document.getElementsByTagName("li") var lilen=document.getElementsByTagName("li").length; for(let i=0;i

     

    第二版 将给li添加时间的for换成了事件代理

     window.onload = function(){
                var oUl = document.getElementsByClassName("campus-test")[0];
                var aLi = oUl.getElementsByTagName("li");
                var str = "";
                for(let i=0;i<100000;i++){
    				str += "
  • li
  • "; } oUl.innerHTML = str; oUl.onclick = function(ev){ var ev = ev || window.event; var target = ev.target || ev.srcElement; if(target.nodeName.toLowerCase() == "li"){ var index; for(var i=0;i=0){ alert('我的下标是第'+index+'个') }; } } }

    添加1000的部分依然没什么优化的思路

    你可能感兴趣的:(JavaScript)