一直提示第四行Uncaught TypeError: Cannot read property 'getElementsByTagName' of null,这是为什么?

如果把教师空间首页的js和网络课程的js分别写在自己的html中就都可以实现效果,只要放在一个js文件就只能运行教师空间的js代码,求大神解决。(js代码合并到一个js文件时总是会出现冲突、错误)

window.onload=function(){  

    // 教师空间首页tab切换

    var Leartitle=document.getElementById('Leartitle');

    var Learuls=Leartitle.getElementsByTagName('ul')[0]; //第四行

    var Learlis=Learuls.getElementsByTagName('li');

    var Mylearn=document.getElementById('Mylearn');

    var Leardivs=getElements(Mylearn);

    tab(Learlis,Leardivs);  


    var Retitle=document.getElementById('Retitle');

    var Recomuls=Retitle.getElementsByTagName('ul')[0];

    var Recomlis=Recomuls.getElementsByTagName('li');

    var MyRecom=document.getElementById('myRecom');

    var Recomdivs=getElements(myRecom);

    tab(Recomlis,Recomdivs);


     //网络课程学习界面课程列表与提问答疑显示与隐藏

    var  learnL=document.getElementById('learnL');

    var  vedioface=document.getElementById('vedioface');

    var  learnR=document.getElementById('learnR');

    var  left=document.getElementById('left');

    var  right=document.getElementById('right');


     unfold(left,vedioface,learnL,right);

     unfold(right,vedioface,learnR,left);

    var  learnR=document.getElementById('learnR');

    var  uls=learnR.getElementsByTagName('ul')[0];

    var  lis=uls.getElementsByTagName('li');

    var  divs=getElements(learnR);

         tab(lis,divs);


    }

    

    // 获取同级的div元素

      function getElements(wrapper){

        var obj=wrapper.getElementsByTagName("div");

        var oimages=[];

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

          if(obj[i].parentNode==wrapper)

          {

            oimages.push(obj[i]);

          }

        }

         return oimages;

      }


      // tab切换

      function tab(lis,divs){

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

            lis[i].index=i;

            lis[i].onclick=function(){

              for(var n=0;n<divs.length;++n){

                lis[n].className="";

                divs[n].style.display="none";

              }

              this.className="on";

              divs[this.index].style.display="block";

            }

          }

      }

        //网络课程学习界面课程列表与提问答疑显示与隐藏

       function unfold(btn,vedioface,learnLR,opponent){

                    btn.onclick=function(){

                        if(vedioface.offsetWidth==1000)

                        {

                            opponent.setAttribute('disabled', 'disabled');

                            show(btn,vedioface,learnLR);

                        }

    

                        else{

                            hide(btn,vedioface,learnLR);

                            opponent.removeAttribute('disabled');

                            btn.setAttribute('disabled', 'disabled');

                        }

                 }

          }

       function show(btn,vedioface,learnLR){

                if(btn.value==">"){

                    btn.value="<";

                }

                

                else{

                btn.value=">";

                }

            

                vedioface.style.width=730+'px';

                learnLR.style.display="block";                

         }

         function hide(btn,vedioface,learnLR){

                 if(btn.value=="<"){

                    btn.value=">";

                }

                

                else{

                btn.value="<";

                }

            

                vedioface.style.width=1000+'px';

                learnLR.style.display="none";              

         }


慕仔2695199
浏览 12116回答 1
1回答

李晓健

document.getElementById('Leartitle');  没有取到值,就是你页面没有id='Leartitle' 的元素,还有问题就帖上完整的html代码
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript