zoukankan      html  css  js  c++  java
  • Dom对象

    <head>
        <meta charset="UTF-8">
        <title>Title</title>
         <style>
            .hide{
                display: none;
            }
        </style>
    </head>
    <body>
    <div class="c1"id="d1">click</div>
    <div class="c1"id="d2">click</div>
    <script>
        var ele=document.getElementsByClassName('c1')[0];
        //文本操作
    //    console.log(ele.innerHTML)//取值操作
          //console.log(ele.innerText)//取值操作
    //    ele.innerText='frank'//赋值操作
    //      ele.innerHTML='<a href="" >click</a>'//html标签用innerHTML
    //
        //属性操作
    //    var ele=document.getElementsByClassName('c1')[0];
    //    ret=ele.id
    //    console.log(ret)
    //    console.log(ele.getAttribute('id'))
    //    ele.id='hha'
    //    console.log(ele)
    
        //class属性
        console.log(ele.className)
        ele.classList.add('hide');//增加一个类名
            ele.classList.remove("hide");//减少一个类名
    </script>
    </body>

    1dom

    •  HTML  Document Object Model(文档对象模型)
    •     HTML DOM 定义了访问和操作HTML文档的标准方法
    •     HTML DOM 把 HTML 文档呈现为带有元素、属性和文本的树结构(节点树

     画dom树是为了展示文档中各个对象之间的关系,用于对象的导航。

    2节点

    节点类型

    HTML 文档中的每个成分都是一个节点。

    DOM 是这样规定的:
        整个文档是一个文档节点
        每个 HTML 标签是一个元素节点
        包含在 HTML 元素中的文本是文本节点
        每一个 HTML 属性是一个属性节点

    其中:document和element是重点。

    节点之间的关系:

    节点树中的节点彼此拥有层级关系。
    父(parent),子(child)和同胞(sibling)等术语用于描述这些关系。父节点拥有子节点。同级的子节点被称为同胞(兄弟或姐妹)。

    •     在节点树中,顶端节点被称为根(root)
    •     每个节点都有父节点、除了根(它没有父节点)
    •     一个节点可拥有任意数量的子
    •     同胞是拥有相同父节点的节点

    下面的图片展示了节点树的一部分,以及节点之间的关系:

    访问 HTML 元素(节点),访问 HTML 元素等同于访问节点,我们能够以不同的方式来访问 HTML 元素。

    节点查找:(方法一)

    <div id="div1">
        <div class="div2"> i am div2</div>
        <div name="frank"> i am div</div>
        <div id="div3"> i am div</div>
        <p > hello hgahglp</p>
    </div>
    <script>
     
    
    //    var div1=document.getElementById('div1')//通过定位查找id标签
    //var div2=document.getElementsByClassName('div2')//通过类名来查找
    //var frank1=document.getElementsByName('frank')//通过名字来查找
    //var p1=document.getElementsByTagName('p')//通过标签查找
    //    console.log(ele )
    </script>

    注意涉及到寻找元素,注意script标记的位置!

    方法二:(导航节点属性)

    parentElement           // 父节点标签元素
    
    children                // 所有子标签
    
    firstElementChild       // 第一个子标签元素
    
    lastElementChild        // 最后一个子标签元素
    
    nextElementSibling     // 下一个兄弟标签元素
    
    previousElementSibling  // 上一个兄弟标签元素
    var ele=document.getElementsByClassName('div2')[0].nextElementSibling;//查找下一个
    console.log(ele)

    绑定事件的两种方式:

    <body>
    #绑定事件方法一
    <div onclick="alert(123)">div</div>
    <div onclick="foo(this)">div</div>//this 指的是自己直接绑定不推荐使用
    <script>
    function foo(self) { //self 指的是形式参数-->
    var ele=document.getElementsByTagName('div')[0];
    ele.style.color='green'//法一
    console.log(self)
    self.style.color='red'//法二
    }


    </script>
    <div class="c1">DIV2</div>
    // 事件绑定方式2: 标签对象.on事件=function(){}推荐使用
    <script>
    var ele=document.getElementsByClassName("c1")[0];
    ele.onclick=function () {
    console.log(this)
    this.style.fontSize='30px'
    }




    </script>
    //点击每一行会跳出每一行的内容
    <ul>
    <li>11</li>
    <li>22</li>
    <li>33</li>
    <li>444</li>
    </ul>
    <script>
    var ele=document.getElementsByTagName('li')
    for (var i=0;i<ele.length;i++){
    ele[i].onclick=function () {
    // this.style.color='red'
    alert(this.innerText)
    }
    }

    </script>
    </body>

    属性操作:

    <head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
    .hide{
    display: none;
    }
    </style>
    </head>
    <body>
    <div class="c1"id="d1">click</div>
    <div class="c1"id="d2">click</div>
    <script>
    var ele=document.getElementsByClassName('c1')[0];
    //文本操作
    // console.log(ele.innerHTML)//取值操作
    //console.log(ele.innerText)//取值操作
    // ele.innerText='frank'//赋值操作
    // ele.innerHTML='<a href="" >click</a>'//html标签用innerHTML
    //
    //属性操作
    // var ele=document.getElementsByClassName('c1')[0];
    // ret=ele.id
    // console.log(ret)
    // console.log(ele.getAttribute('id'))
    // ele.id='hha'
    // console.log(ele)

    //class属性
    console.log(ele.className)
    ele.classList.add('hide');//增加一个类名
    ele.classList.remove("hide");//减少一个类名
    </script>
    </body>

     左侧表单

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            *{
                margin: 0px;
                padding:0px;
            }
            .left{
                 20%;
                height: 600px;
                float: left;
                background-color: #2459a2;
    
            }
            .title{
                 100%;
                height: 20px;
                border:1px solid red;
                text-align: center;
    
            }
            .title ul{
                list-style: none;
    
            }
            .right{
                  80%;
                height: 600px;
                float: left;
                background-color: #e4393c;
            }
            .hide{
                display: none;
            }
            .item{padding:10px;}
        </style>
    </head>
    <body>
    <div class="outer">
        <div class="left">
            <div class="item">
            <div class="title" >第一章</div>
                 <ul class= "conn ">
                    <li>111</li>
                    <li>111</li>
                    <li>111</li>
                    <li>111</li>
                </ul></div>
            <div class="item">
            <div class="title" >第一章</div>
                 <ul class= "conn hide ">
                    <li>111</li>
                    <li>111</li>
                    <li>111</li>
                    <li>111</li>
                </ul></div>
            <div class="item">
            <div class="title" >第一章</div>
                 <ul class= "conn  hide">
                    <li>111</li>
                    <li>111</li>
                    <li>111</li>
                    <li>111</li>
                </ul></div>
    
        </div>
    
        <div class="right"></div>
    </div>
    <script>
     var ele=document.getElementsByClassName('title');
        for (var i=0;i < ele.length;i++){
         ele[i].onclick=function () {
        this.nextElementSibling.classList.remove('hide')
             for (var j=0;j<ele.length;j++){
          if (ele[j]!==this){
              ele[j].nextElementSibling.classList.add('hide')
          }
    
             }
    
         }
        }
    </script>
    </body>
    </html>
  • 相关阅读:
    第04组 Alpha冲刺 总结
    第04组 Alpha冲刺 (6/6)
    软工实践个人总结
    第09组 每周小结 (3/3)
    第09组 每周小结 (2/3)
    第09组 每周小结 (1/3)
    第09组 Beta冲刺 总结
    第09组 Beta冲刺 (5/5)
    第09组 Beta冲刺 (4/5)
    第09组 Beta冲刺 (3/5)
  • 原文地址:https://www.cnblogs.com/1a2a/p/7597797.html
Copyright © 2011-2022 走看看