老师 为什么我这个立即执行函数不起作用?

来源:2-4 编程练习

一只会跳桑巴的猪

2019-03-21 15:34:08

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    .li{list-style:none;height:50px;line-height:50px;width:100px;background-color:lightblue;text-align:center;}
  </style>
</head>
<body>
    <script>
    myReady(function(){
        var fragment=document.createDocumentFragment();
        var comment=document.createComment("创建节点");
        var ul=document.createElement('ul');
        var li=null;
        for(var i=0;i<3;i++){
            li=document.createElement("li");
            li.appendChild(document.createTextNode('第'+(i+1)+'个li'));
            fragment.appendChild(li);
        }
        ul.appendChild(fragment);
        document.body.appendChild(ul);
         document.body.insertBefore(comment,ul);
    });
    
    </script>
</body>
</html>


写回答

1回答

好帮手慕星星

2019-03-21

你好,

1、代码中使用的是myReady()方法,视频中引入了相关的js文件:

http://img.mukewang.com/climg/5c9344300001e96710500382.jpg

引入文件之后才会起作用。

并且css样式中设置的是.li的样式,

http://img.mukewang.com/climg/5c93449f00011a4806840113.jpg

说明是一个class类名,代码中没有添加上这个类,所以样式就不会添加上,可以直接改为元素:

http://img.mukewang.com/climg/5c9344bf0001981b04930241.jpg

2、或者不引入视频中的js文件,直接使用立即函数,也就是匿名函数自调用:

http://img.mukewang.com/climg/5c9344e300019dac10580430.jpg

自己可以测试下,祝学习愉快!

0

0 学习 · 4826 问题

查看课程