zoukankan      html  css  js  c++  java
  • Javascript DOM

    一、HTML DOM树

    二、节点关系

    父(parent),子(child)和同胞(sibling)

    三、节点查找

      1、直接查找

     document.getElementById('id号')//通过id号直接获取元素
     document.getElementsByName('name属性')//通过name属性获取元素
     document.getElementsByTagName('标签名')//通过标签名获取元素
     document.getElementByClassName('class值')//通过class值获取元素

      2、导航查找:根据已经找到的元素作为基准,取寻找其他的元素

    parentElement           // 父节点标签元素
    
    children                // 所有子标签
    
    firstElementChild       // 第一个子标签元素
    
    lastElementChild        // 最后一个子标签元素
    
    nextElementtSibling     // 下一个兄弟标签元素
    
    previousElementSibling  // 上一个兄弟标签元素

     四、标签控制

      1、文本控制

    例子:<li><a href="">123</a></li>
    innerText 
    1、获取操作:只获取元素中的文本内容;获取结果:123
    2、赋值操作:
            (a):清空获取到元素的所有内容,包括标签;结果:<li></li>
            (b):以文本形式写入,即使写入内容为标签,也是作为文本写入,无标签效果;
            如添加 <a href="">点我</a>,结果显示 <li>“<a href="">123</a>”</li>
    inner.HTML
    1、获取操作:获取元素所有内容:如<a href="">123</a>
    2、赋值操作:
      (a):清空获取到的元素的所有内容,包括标签;结果:<li></li>
      (B): 可以以标签形式写入;
        如添加 <a href="">点我</a>,结果显示 <li><a href="">123</a></li>

      2、属性控制

    ele.setAttribute('alex','123') //给ele元素添加一个属性 alex:123
    ele.getAttribute('class') //获取ele元素中的class属性的值
    ele.removeAttribute('class')//移除class属性

      3、class属性控制

    ele.classList.add('iconfont') //给ele的class属性中添加一个新值iconfont
    ele.classList.remove('style-red') //给ele的class属性中删除’style-red'值

      4、css控制

    ele.style.css样式=‘值’
    document.getElementsByClassName('fore1')[1].firstElementChild.style.color='red';

    五、demo实例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>左侧栏</title>
        <style type="text/css">
            body{
                margin:0;
                padding: 0;
            }
            ul{
                margin: 0;
            }
            aside{
                width: 20%;
                height: 800px;
                background-color: #BFA372FF;
            }
            span{
                display: inline-block;
                height: 50px;
                width:100%;
                line-height: 50px;
                background-color: #29C2D0FF;
                color:white;
                font-size: 20px;
                text-align: center;
                margin-top:2px;
    
            }
            .hide{
                display:none;
            }
        </style>
    </head>
    <body>
        <aside>
            <div>
                <span class='title'>第一章</span>
                <ul class='nav hide'>
                    <li>111</li>
                    <li>111</li>
                    <li>111</li>
                </ul>
            </div>
            <div>
                <span class='title'>第二章</span>
                <ul class='nav hide'>
                    <li>222</li>
                    <li>222</li>
                    <li>222</li>
                </ul>
            </div>
            <div>
                <span class='title'>第三章</span>
                <ul class='nav hide'>
                    <li>333</li>
                    <li>333</li>
                    <li>333</li>
                </ul>
            </div>
        </aside>
        <script type="text/javascript">
            var eles=document.getElementsByClassName('title')
            for (let i=0;i<eles.length;i++){            
                    eles[i].onclick=function (){
                        console.log(this)
                        this.nextElementSibling.classList.remove("hide");
                        for (let j=0;j<eles.length;j++){
                            if (eles[j]!=this) {
                                eles[j].nextElementSibling.classList.add('hide');
                            }
                        }
                    }
            }
        
            
        </script>
        
    </body>
    </html>
    左侧框点击事件
  • 相关阅读:
    js-异步机制与同步机制
    js-正则表达式
    js-注释代码习惯
    布局-块级元素水平垂直居中
    js-本地调试跨域
    vue2-项目资源收集
    git 忽略文件夹
    运行npm run eject报错解决方法
    柯里化函数
    常用正则表达式总结
  • 原文地址:https://www.cnblogs.com/angle6-liu/p/10169630.html
Copyright © 2011-2022 走看看