zoukankan      html  css  js  c++  java
  • DOM

     

    1、DOM概述
    1、DHTML
    Dynamic HTML :动态的HTML
    DHTML 不是技术 标准 规范,是将现有的网页技术(html,css,javascript)进行整合运用。通过该理念,要求能在 网页被 下载后仍然能够实现 “实时变换页面元素”的效果
    DHTML功能:
    1、动态改变页面元素
    2、与用户进行交互,从而提升用户体验
    3、DHTML 包含 :BOM 与 DOM

    DHTML = HTML + CSS + Javascript
    2、BOM 与 DOM
    1、BOM
    Browser Object Model 浏览器对象模型
    直接操作和访问浏览器窗口的,比如 :历史记录、地址栏信息、状态栏信息。能够让Javascript 与 浏览器 产生交互行为。
    BOM 没有相关的标准的,但所有的浏览器都支持。
    2、DOM
    Document Object Model 文档对象模型
    直接操作 html 文档, 与浏览器无关
    定义了访问和操作html文档的标准方法
    由W3C定义相关标准
    3、DOM概述
    W3CDOM标准三部分:
    1、核心DOM :针对任何 结构化文档(html,xml) 的标准模型
    2、XML DOM :针对XML文档的标准模型,只能操作XML文件
    3、HTML DOM :针对 HTML文档的标准模型,只针对HTML文档

    页面被加载时,浏览器会自动创建页面的文档对象模型
    HTML页面中所有的节点(标记、属性、文本)组成一个文档树(DOM树,节点树)

    document对象 是 DOM树的根(根对象)

    DOM发展过程:
    共三级:
    DOM 1级 :定义基本的顶层操作方法
    DOM 2级 :
    Core :扩展了更多的方法和属性
    Style :允许操作HTML元素的样式
    Traversal and Range :遍历DOM树的方法
    Event :定义标准化事件,IE8不支持
    DOM 3级 :扩充了新方法、属性、新类型
    4、DOM树
    根 : document
    文档中的 元素、属性、文本、注释都是树中的节点
    元素(HTML) : Element Node
    文本 :Text Node
    属性 : Attribute Node
    注释 :Comment Node
    2、DOM操作
    1、选取元素
    根据DOM提供的方法,获取页面中的一个/一组元素
    1、通过ID获取元素
    document.getElementById("元素id值");
    <a href="http://www.baidu.com" id="anchor">百度</a>

    var a = document.getElementById("anchor");
    2、通过 标签名 获取一组元素
    node.getElementsByTagName("标签名");
    node : 已经获取的元素节点对象(DOM对象)
    注意:返回值为数组
    3、通过 class 值获取页面元素
    node.getElementsByClassName("className");
    注意:返回值为数组
    作用:根据class属性值,获取一组元素对象
    eg:05-getElementsByClassName.html

    4、 exer:各行变色:偶数行改变背景颜色
    1、获取 表主题(tbody)中所有tr
    2、循环遍历每个tr元素(索引从零开始)
    1、判断tr的索引是奇数还是偶数
    2、如果是偶数行,指定一个 类选择器
    4、节点关系
    属性:
    父节点:parentNode
    子节点:
    获取第一个子节点:firstChild
    获取最后一个子节点:lastChild
    获取所有子节点:childNodes

    获取第一个元素节点:firstElementChild
    获取最后一个元素节点:lastElementChild

    注意:属性节点,不能通过子节点的方式直接获取到的。
    兄弟节点:
    previousSibling : 上一个兄弟节点
    nextSibling : 下一个兄弟节点

  • 相关阅读:
    C# 各版本的新特性
    EntityFramework增删改查
    web.config配置文件中的configSource属性
    IOC
    权限系统设计实现
    代码依赖和解除具体依赖的技术
    ajax利用html5新特性带进度条上传文件
    React Native 从入门到原理
    npm中本地安装命令行类型的模块是不注册Path的
    需求分析-验证控件的功能需求列表
  • 原文地址:https://www.cnblogs.com/hsx1996/p/10459656.html
Copyright © 2011-2022 走看看