zoukankan      html  css  js  c++  java
  • 第十章:DOM

    <div class="wrap">
        <ul id="ul">
            <li>01</li>
            <li>02</li>
            <li>03</li>
            <li>04</li>
        </ul>
    </div>
    <script>
        var ul = document.getElementById('ul');
        var lis=document.querySelectorAll('li');
        console.log(ul.nodeType);//1:元素节点 2:属性节点 3文本节点
        console.log(ul.nodeName);//元素标签名
        console.log(ul.nodeValue);//始终为null
        console.log(lis);
        console.log(Object.getOwnPropertyDescriptor(window,'lis'));
        console.log(lis.item(0));
        console.log(lis.constructor); //查看构造函数
        console.log(Array.from(lis))//转化为数组
    
    </script>
    <div class="wrap">
        <ul id="ul">
            <li>01</li>
            <li>02</li>
            <li>03</li>
            <li>04</li>
        </ul>
    </div>
    <script>
        var ul=document.querySelector('ul');
        var li=document.querySelector('li');
        var lis=document.querySelectorAll('li');
    
        /*节点之间关系*/
        console.log(ul.firstChild);//子集节点
        console.log(ul.firstElementChild);//子集第一个元素节点
        console.log(ul.lastElementChild);//子集最后一个元素节点
    
        console.log(li.parentNode);//直接父元素
        console.log('下一个兄弟元素节点',li.nextElementSibling);//下一个兄弟元素节点
        console.log('上一个兄弟元素节点',li.previousElementSibling);//上一个兄弟元素节点
        console.log(ul.childNodes);//ie9+ ie8会有文本节点
    
    
        /*
        * 父.appendChild(子) 父级元素内部最下面添加子元素
        * 父.insertBefore(要插入的元素,子元素)
        * 父.replaceChild(新元素,被替换掉的子元素);//
        *
        * */
        var myli=document.createElement('li');
        var p=document.createElement('p')
        p.innerHTML='dasda';
        myli.setAttribute('name','li');
        myli.innerText=33;
    
        myli1=myli;//如果不赋值 下面两句会操作同一个节点
        ul.appendChild(myli);
        ul.insertBefore(myli,li);
        ul.replaceChild(p,li);//
    
        /*节点复制*/
        var clone=ul.cloneNode(); //克隆其自身不包含子元素
        var clone1=ul.cloneNode(true);//深复制 会克隆他的子元素
        console.log(clone);
        console.log(clone1);
    <div class="wrap">
        <ul>
            <li>01</li>
            <li>02</li>
            <li>03</li>
            <li>04</li>
            <li>05</li>
        </ul>
    </div>
    <script>
        /*
         * js中通过Document类型表示文档
         * 在浏览器中document对象是HTMLDocument的一个实例 表示整个页面
         * document 是window对象的一个属性
         *
         *
         * */
    
        console.log(document.constructor) //ƒ HTMLDocument() { [native code] }
    
    
        console.log(window.document);
        console.log(window.document.nodeName);
        console.log(window.document.nodeValue);
        console.log(window.document.nodeType);
        /*下面两个输出一致指向html*/
        console.log(document.childNodes[1]);//
        console.log(document.documentElement);
        console.log(document.body);
        console.log(document.doctype);//各浏览器支持程度不一样
        console.log(document.doctype === document.childNodes[0]);//true
        console.log(document.title);//文档标题 可赋值
        console.log(document.URL);//
        console.log(document.domain);//域名
        console.log(document.URL === location.href);//true
    
        /*查找元素*/
        var nodes = document.getElementsByTagName('*');
        console.log(nodes)
       /*
       setAttribute()
       getAttribute()
       removeAttribute()
        * */
        var li=document.querySelector('li');
        li.setAttribute('name','hxq');
        li.setAttribute('www','hxq');
        console.log(li.getAttribute('name'));
        li.removeAttribute('name')
  • 相关阅读:
    静态查找表和动态查找表
    内存分配
    常用不等式
    考研线性代数(向量,线性方程组)
    考研线性代数(矩阵)
    考研线性代数(行列式)
    微积分常用思想方法小结
    bug修复集合(不定期更新)
    上下文对象及servletContext接口
    手动编解码解决get提交错误的问题
  • 原文地址:https://www.cnblogs.com/aqigogogo/p/7693009.html
Copyright © 2011-2022 走看看