为啥title是undefined

来源:10-1 编程挑战

qq_T_T_0

2018-06-21 10:21

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>实践题 - 选项卡</title>

    <style type="text/css">

     /* CSS样式制作 */  

*{margin:0;  padding:0;box-sizing:border-box;}

*::before{box-sizing: border-box;}

*::after{box-sizing:border-box;}

ul,ol{list-style:none;}

h1,h2,h3,h4,h5,h6{ font-weight:normal;}

a{text-decoration: none;color:inherit;}

img {vertical-align: top;}

input,button{border: none;outline: none;}


      ul,li {

          list-style:none;

      }

      .title {

          display:flex;

          margin-left:5px;

      }

      .title li {

          border: 1px solid #ddd;

          border-bottom: 1px solid orange;

          padding: 10px;

      }

      .title li.active {

          border-top:2px solid orange;

          border-bottom: 2px solid white;

         

      }

      .content {

          height: 300px;

          width:330px;

          border-left:1px solid blue;

          border-right:1px solid blue;

          border-bottom:1px solid blue;

      }

      .content  li {

          display:none;

      }

      .content  li.active{

          margin-top:-2px;

          border-top:2px solid orange;

          display:block;

          z-index:100;

      }

      

       

    </style>

    <script type="text/javascript">

         

    // JS实现选项卡切换

    let title = document.getElementsByClassName('title')[0]

    title.addEventListener('click','li',click)

    function click(e){

        // e.target.setAttribute('className','active')

        e.target.className = 'active'

    }

    

    </script>

 

</head>

<body>

<!-- HTML页面布局 -->

<ul class="title">

    <li class="active">房产</li>

    <li>家居</li>

    <li>二手房</li>

</ul>

<ul class="content">

    <li class="active">

        <p>275万购昌平邻铁三居 总价20万买一居

    200万内购五环三居 140万安家东三环

    北京首现零首付楼盘 53万购东5环50平

    京楼盘直降5000 中信府 公园楼王现房

        </p>

    </li>

    <li>

        <p>

        40平出租屋大改造 美少女的混搭小窝

     经典清新简欧爱家 90平老房焕发新生

     新中式的酷色温情 66平撞色活泼家居

     瓷砖就像选好老婆 卫生间烟道的设计

        </p>

    </li>

    <li>

        <p>

        通州豪华3居260万 二环稀缺2居250w甩

     西3环通透2居290万 130万2居限量抢购

     黄城根小学学区仅260万 121平70万抛!

     独家别墅280万 苏州桥2居优惠价248万

        </p>

    </li>

</ul>


 

</body>

</html>


写回答 关注

2回答

  • 湮果惑
    2018-06-23 11:15:49

    元素.addEventListener( 事件名称,触发事件执行的函数,是否为捕获事件【默认为false】 )

  • 湮果惑
    2018-06-23 11:13:17

    js 所有的内容,写在head里面

    当你执行js代码的时候,html代码并未执行

    title获取的元素,找不到

    所以,你所有的js代码,要包在window.onload = function(){}

    title.addEventListener('click','li',click) ,你这也有问题


JavaScript进阶篇

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

468745 学习 · 22132 问题

查看课程

相似问题