zoukankan      html  css  js  c++  java
  • DOM扩展

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>DOM extend</title>
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /><!-- 文档渲染模式声明 -->
    </head>
    
    <body>
    <div id="myDiv"> <a></a> </div>
    
    <div class="select">
        <img src="" />
        <img class="button" src="https://www.baidu.com/img/bd_logo1.png" />
    </div>
    
    <div class="more">1</div>
    <div class="more">2</div>
    <div class="more">3</div>
    <div class="more">4</div>
    
    <div id="type" class="bd user disabled"></div>
    
    <input type="text" name="myButton" id="myButton" />
    
    <script type="text/javascript">
    /**
     * selector API
     */
    //查找第一个元素querySelector
    var body = document.querySelector('body');//查找元素
    console.log(body);
    var div = document.querySelector("#myDiv");//查找ID
    console.log(div);
    console.log(div.childNodes.length);//返回子节点数(包含空格和注释)
    console.log(div.childElementCount);//返回子节点数(不包含空格和注释)
    console.log(div.firstElementChild);//返回第一个子节点(不包含空格和注释)
    var cls = document.querySelector(".select");//查找class(第一个元素)
    console.log(cls);
    var firstImg = document.querySelector('img.button');//分级查找
    console.log(firstImg);
    //查找多个元素querySelectorAll
    var more = document.querySelectorAll(".more");
    console.log(more);
    for(var i=0; i < more.length; i++){
        console.log(more[i].innerHTML);
    }
    //元素遍历(该DOM扩展于DOM元素遍历的区别是不用考虑空格和注释)
    /**
     * childElementCount      返回子元素的个数
     * firstElementChild      返回第一个子元素
     * lastElementChild       返回最后一个子元素
     * previousElementSibling 返回上一个同级元素
     * nextElementSibling     返回下一个同级元素
     */
    /**
     * HTML5 DOM扩展
     */
    var h5 = document.getElementsByClassName('more');
    console.log(h5);
    var type = document.getElementById('type');//bd user disabled
    type.classList.remove('user');//删除user 类名
    type.classList.add('user');//添加user类名
    type.classList.toggle('user');//切换user类名(如果存在则删除如果不存在则添加)
    console.log(type);
    console.log(type.classList.contains('bd'));//true判断是否包含 bd 类名
    //迭代类名
    for(var i=0, len=type.classList.length; i<len; i++){
        console.log(type.classList[i]);
    }
    //焦点管理
    var button = document.getElementById('myButton');
    button.focus();
    console.log(document.activeElement === button);//true 
    console.log(document.hasFocus());//true 文档是否获取到了焦点
    //HTMLDocument的变化
    console.log(document.readyState);//loading  或者complete
    console.log(document.compatMode);//CSS1Compat 判断浏览器的兼容模式 CSS1Compat:兼容模式 backCompat:混杂模式
    //字符集
    console.log(document.charset);//UTF-8
    console.log(document.defaultCharset);//浏览器或操作系统的默认字符集  很少用
    //innerHTML outerHTML
    console.log(cls.innerHTML);//获取节点里面的内容
    console.log(cls.outerHTML);//获取节点以及里面的内容
    //insertAdjacentHTML
    cls.insertAdjacentHTML("beforebegin","<p>hello world!</p>");//在当前元素之前插入一个元素
    cls.insertAdjacentHTML("afterbegin","<p>hello world!</p>");//第一个子元素
    cls.insertAdjacentHTML("beforeend","<p>hello world</p>");//最后一个子元素
    cls.insertAdjacentHTML("afterend","<p>hello ok</p>");//在当前元素之后插入一个元素
    //非w3c的各个浏览器的专有扩展
    console.log(cls.children);//类似 childNodes
    console.log(cls.contains(firstImg));//true 判断firstImg节点是否是cls的子节点
    console.log(cls.innerText);//获取节点里面的内容(非html标签)  Firefox不支持
    console.log(cls.outerText);//获取节点以及里面的内容(非html标签) Firefox不支持
    function getInnerText(element){//innerText兼容写法
        return (typeof element.textContent == "string") ? element.textContent : element.innerText;
    }
    function setInnerText(element.text){//innerText兼容写法
        if(typeof element.textContent == "string"){
            element.textContent = text;
        }else{
            element.innerText = text;
        }
    }
    </script>
    </body> 
    </html>
    If the copyright belongs to the longfei, please indicate the source!!!
  • 相关阅读:
    2013年个人总结
    ASP.NET Core SignalR (一):SignalR 概述
    ASP.NET Core 中的配置 【上】
    .NET Core 服务器
    .NET Web 宿主(Web Host)【下】
    .NET Web 宿主(Web Host)【上】
    .NET 通用主机(Generic Host)
    ASP.NET Core中间件
    ASP.NET Core中的依赖注入【下】
    ASP.NET Core中的依赖注入【上】
  • 原文地址:https://www.cnblogs.com/longfeiPHP/p/6177884.html
Copyright © 2011-2022 走看看