为了账号安全,请及时绑定邮箱和手机立即绑定

10-1编程挑战失败,我这段代码的document.getElementById() 获取不到doc对象

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>实践题 - 选项卡</title>
    <style type="text/css">
     /* CSS样式制作 */  
    #container{ width:300px;height:200px;
        text-align:center;padding-top:0px;position:absolute;
    }
    li{display:block;border-top:1px solid #2f2f2f;float:left;
       height:30px; width:60px; padding-top:10px;border-left:1px solid #2f2f2f;
       border-right:1px solid #2f2f2f;
       margin-left:10px;
    }
    ul{
        position:absolute;px;top:0px;padding-top:0px;margin-top:0px;
    }
    .bottom{
        border-top:1px solid red;height:157px;width:100%;position:absolute;
        top:41px;
    }
    .top{
        border-top:1px solid red;
    }
    </style>
    <script type="text/javascript">
         
    // JS实现选项卡切换
     var container = document.getElementById("container");
     alert(container.nodeType);
    </script>
 
</head>
<body>
<!-- HTML页面布局 -->

<div id="container">
    <ul>
        <li >
            房产
        </li>
        <li>
            家具
        </li>
        <li>
            二手车
        </li>
    </ul>
    <div>
        <p>275万购昌平邻铁三居 总价20万买一居
    200万内购五环三居 140万安家东三环
    北京首现零首付楼盘 53万购东5环50平
    京楼盘直降5000 中信府 公园楼王现房</p>
    </div>
    <div style="display:none">
        <p>40平出租屋大改造 美少女的混搭小窝
     经典清新简欧爱家 90平老房焕发新生
     新中式的酷色温情 66平撞色活泼家居
     瓷砖就像选好老婆 卫生间烟道的设计</p>
    </div>
    <div style="display:none">
        <p>通州豪华3居260万 二环稀缺2居250w甩
     西3环通透2居290万 130万2居限量抢购
     黄城根小学学区仅260万 121平70万抛!
     独家别墅280万 苏州桥2居优惠价248万</p>
    </div>
</div>
 
</body>
</html>


正在回答

4 回答

页面从上往下在加载,不放下面,加载到js的时候,dom还没加载呢,自然没法获取

0 回复 有任何疑惑可以回复我~
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>实践题 - 选项卡</title>
    <style type="text/css">
     /* CSS样式制作 */  
    #container{ width:300px;height:200px;
        text-align:center;padding-top:0px;position:absolute;
    }
    li{display:block;border-top:1px solid #2f2f2f;float:left;
       height:30px; width:60px; padding-top:10px;border-left:1px solid #2f2f2f;
       border-right:1px solid #2f2f2f;
       margin-left:10px;
    }
    ul{
        position:absolute;px;top:0px;padding-top:0px;margin-top:0px;
    }
    .bottom{
        border-top:1px solid red;height:157px;width:100%;position:absolute;
        top:41px;
    }
    .top{
        border-top:1px solid red;
    }
    </style>
    
 
</head>
<body>
<!-- HTML页面布局 -->

<div id="container">
    <ul>
        <li id="1" style="border:1px solid red;" >
            房产
        </li>
        <li id="2">
            家具
        </li>
        <li id="3">
            二手车
        </li>
    </ul>
    <div id="div1" >
        <p>275万购昌平邻铁三居 总价20万买一居
    200万内购五环三居 140万安家东三环
    北京首现零首付楼盘 53万购东5环50平
    京楼盘直降5000 中信府 公园楼王现房</p>
    </div>
    <div style="display:none" id="div2">
        <p>40平出租屋大改造 美少女的混搭小窝
     经典清新简欧爱家 90平老房焕发新生
     新中式的酷色温情 66平撞色活泼家居
     瓷砖就像选好老婆 卫生间烟道的设计</p>
    </div>
    <div style="display:none" id="div3">
        <p>通州豪华3居260万 二环稀缺2居250w甩
     西3环通透2居290万 130万2居限量抢购
     黄城根小学学区仅260万 121平70万抛!
     独家别墅280万 苏州桥2居优惠价248万</p>
    </div>
</div>
  <script type="text/javascript">
         
    // JS实现选项卡切换
     var container = document.getElementsByTagName("li");
     for(var i =0;i<container.length;i++){
         cssChange(container[i]);
     }
     function cssChange(li){
      var lis = document.getElementsByTagName("li");
         li.onclick=function(){
          for(var i=0;i<lis.length;i++){
          if(lis[i].id==li.id){
          lis[i].style.borderColor="red";
          }else{
          lis[i].style.borderColor="#2f2f2f";
          }
          
          }
             
             var num = li.id;
             var div = document.getElementById("div"+num);
             hiddenDiv(div);

         }
     }
     
     
     function hiddenDiv(div){
      var div1 = document.getElementById("div1")
      var div2 = document.getElementById("div2");
      var div3 = document.getElementById("div3");
      if(div1.id == div.id){
      div1.style.display="block";
      div2.style.display="none";
      div3.style.display="none";
      }else if(div2.id == div.id){
      div1.style.display="none";
      div2.style.display="block";
      div3.style.display="none";
      }else if(div3.id == div.id){
      div1.style.display="none";
      div2.style.display="none";
      div3.style.display="block";
      }
     }
    </script>
</body>
</html>

最后功能已经实现   具体代码如上   提供给各位参考   具体 为什么 <script></script>代码块  为什么要放在下面  

才能获取到 代码块     还需要知道的大神  回复下 谢谢

0 回复 有任何疑惑可以回复我~

刚刚发现 把 

<script type="text/javascript">

          

    // JS实现选项卡切换

     var container = document.getElementById("container");

     alert(container.nodeType);

    </script>

这部分代码 放到最下面 就可行              为什么

0 回复 有任何疑惑可以回复我~

通过document.getElementById("container")  获取不到 doc对象  不知道为什么 有高人帮忙看看吗     非常感谢

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468189    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

10-1编程挑战失败,我这段代码的document.getElementById() 获取不到doc对象

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信