前端大神,我不懂这两个js有什么不同?

这是第一个

window.onload=function(){

(function createTag(){//动态创建b标签

var label;

var li=document.getElementById("checkList").getElementsByTagName("li");

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

label=li[i].getElementsByTagName("label");

var bTag=document.createElement("b");

li[i].insertBefore(bTag,label[0]);


}

})()

}

</script>

----------------------------------------------------

这是第二个

window.onload=function(){

var li=document.getElementById("checkList").getElementsByTagName("li");

(function createTag(){//动态创建b标签

var label;

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

label=li[i].getElementsByTagName("label");

var bTag=document.createElement("b");

li[i].insertBefore(bTag,label[0]);


}

})()

}

</script>

--------------------------------

第一个可以创建b标签,第二个不行,为什么呢?第二个拿出来定义是因为我后面函数还得用。。。

舞动的指尖
浏览 1321回答 1
1回答

stone310

这里看这个li变量放哪里都没有问题的,自己测试了一遍可以添加啊,你的JS还有没有其他内容<!doctype> <html> <head> </head> <body> <div id='checkList'>     <li>         <label>111111</label>     </li>     <li>         <label>222222</label>     </li>     <li>         <label>333333</label>     </li> </div> </body> <script type='text/javascript'>     window.onload = function () {         var li = document.getElementById("checkList").getElementsByTagName("li");         (function createTag() {//动态创建b标签             var label;             for (var i = 0; i < li.length; i++) {                 label = li[i].getElementsByTagName("label");                 var bTag = document.createElement("b");                 li[i].insertBefore(bTag, label[0]);             }         })()     } </script> </html>
打开App,查看更多内容
随时随地看视频慕课网APP