• JS DOM 知识梳理


    一 DOM术语
    <a>
    标签 CSS/HTML
    元素 js
    节点 DOM

    二 DOM document也是一套规范

    三 各浏览的支持
    IE6-8 10-20% IE9 80%
    chrome 70-80%
    FireFox 99%

    四 参考网站
    1、基础教程类: w3c 菜鸟教程
    2、前端框架: mdn bootcdn
    3、兼容性问题: caniuse -> Can I use
    4、素材网: codepen 17素材网
    5、echarts

    五 dom编程
    1、子节点
    1) childNodes
    asdfasfas -> 文本节点

    <ul id="ul1">
    空文本节点 <li></li>
    空文本节点 <li></li>空文本节点
    </ul>

    //获得ul
    var oul = document.getElementById("ul1");
    //当前节点的所有的子节点
    alert(oul.childNodes.length);

    兼容性问题:
    低版本的浏览器:能正常显示子标签的个数
    高版本的浏览器:将文字节点也统计在其中

    困扰:将 li的背景色换成红色

    2)nodeType
    3 --> 文本节点
    1 --> 元素节点

    3) children
    只包括元素节点,不包括文本节点


    2、父节点
    1)parentNode
    隐藏 li 节点

    2) offsetParent
    absolute 定位 :绝对定位
    它是相对于它最近的已定位的父元素,如果元素没有已经定位的父元素,它会一级一级向上找,直到找html
    找到html后会相对于html进行绝对定位

    offsetParent:找决定它直接定位的父元素

    3、其它类型节点
    1)首尾子节点 (兼容性问题)
    firstChild / firstElementChild
    lastChild / lastElementChild
    2) 兄弟节点 (兼容性问题)
    nextSibling / nextElementSbiling
    previousSibling / previousElementSbiling

    六 dom 操作属性
    1、JS操作属性方法
    第一种: obj.style.display="none";
    第二种:obj.style["display"]="none";
    第三种:dom :obj.style.setAttribute(名称,值)

    2、属性操作
    getAttribute(名称)
    setAttribute(名称,值)
    removeAttribute(名称)

    七、节点操作
    1、创建Dom元素
    1) createElement(标签名) 创建一个节点
    节点创建后是不是在页面中能够显示,不是
    2) appendChild(节点) 追加一个节点

    2、插入一个元素
    insertBefore(新节点,原有节点) 在原有节点前插入新节点

    3、删除一个元素
    removeChild(节点) 删除一个节点


    八、文件碎片
    document.createDocumentFragment()
    容器:低版本浏览器

    ul
    li*10000

    ul.appendChild(li);

    li -> createDocumentFragment -> 一次性渲染到UL中


    九、表格
    1、表格的html标签
    table tr td thead tbody

  • 相关阅读:
    前端学习笔记之闭包——看了一张图终于明白啥是闭包了
    前端学习笔记之闭包——看了一张图终于明白啥是闭包了
    前端学习笔记之闭包——看了一张图终于明白啥是闭包了
    前端学习笔记之闭包——看了一张图终于明白啥是闭包了
    Unity碰撞检测
    Unity碰撞检测
    Unity碰撞检测
    Unity碰撞检测
    关于JavaScript中事件的一些重要说明
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
  • 原文地址:https://www.cnblogs.com/liuxuanhang/p/7805719.html
Copyright © 2020-2023  润新知