操作文档对象模型

DOM 结构树

  文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可拓展置标语言的标准编程接口。它是一种与平台和语言无关的应用程序接口(API),它可以动态地访问程序和脚本,更新其内容、结构和www文档的风格(目前,HTMl和XML文档是通过说明部分定义的)。

  分为:

  1.元素节点
    2.文本节点
    3.属性节点
        不属于元素节点的子节点
    4.文档节点(document)

处理元素节点
    method
    1.document.getElementById(); //根据ID
    2.document.getElementsByTagName(); //根据标签名
        返回名为NodeList的DOM对象,使用时建议先通过length属性检查其长度。
        获取节点有两种可选:
            a. 使用item方法
            b. 使用数组下标
    3.document.getElementsByClassName(); //根据Class,作为新成员,浏览器支持情况暂不太好
    4.querySelector()、querySelectorAll(); //通过CSS选择器,亦为新成员
        前者返回第一个匹配的元素,后者返回NodeList。
        e.g document.querySelector("#header");

处理属性节点
    method
    1.getAttribute(); //获取属性
        建议先使用hasAttribute();
        e.g document.getElementById("pl").getAttribute("class");
    2.setAttribute(); //设置属性
    3.removeAttribute(); //移除属性
        建议先使用hasAttribute();
    4.hasAttribute();

处理文档节点
    直接通过innerHTML属性
    e.g

   a.document.getElementById("pl").innerHTML;
        b.document.getElementById("pl").innerHTML("<p>hello world</p>");

遍历DOM
    method
    1.parentNode;
        e.g document.getElementById("pl").parentNode.setAttribute("class","liu");
    2.previousSibling;
    3.nextSibling;
    4.firstChild;
    5.lastChild;
        访问首尾两个子节点时,由于空白的原因,往往未必返回预期的子元素

DOM中动态添加移除节点
    method
    1.createElement();
    2.createTextNode();
    3.appendChild();
    4.removeChild();
    新增元素
    1.创建元素
    2.填充内容
    3.放入DOM
    e.g
        var tar=document.getElementById("pl");
        var p=document.createElement("p");
        var tex=p.createTextNode("hello world");
        tar.appendChild(tex);
    移除元素
    e.g
        var tar=document.getElementById("pl");
        var t=document.getElementById("pll");
        tar.removeChild("t");

修改元素样式

  1.用JS修改标签的 class 属性值:
    更改一个标签的 class 属性的代码是:
    document.getElementById( id ).className = 字符串;
    className 是 DOM 对象的一个属性,它对应于标签的 class 属性。另外你也可以用上述的setAttribute()方法修改

  2.用JS修改标签的 style 属性值:
    style 属性也是在标签上引用样式表的方法之一,它的值是一个CSS样式表。
    更改一个标签的 CSS 属性的代码是:

    document.getElementById( id ).style.属性名 = 值;
    style 是 DOM 对象的一个属性,它本身也是一个对象。属性名 是 Style 对象的属性名,它和某个CSS属性是相对应的。

附:盒子标签和属性对照
  CSS语法(不区分大小写)     JavaScript语法(区分大小写)
  border     border
  border-bottom     borderBottom
  border-bottom-color     borderBottomColor
  border-bottom-style     borderBottomStyle
  border-bottom-width     borderBottomWidth
  border-color     borderColor
  border-left     borderLeft
  border-left-color     borderLeftColor
  border-left-style     borderLeftStyle
  border-left-width     borderLeftWidth
  border-right     borderRight
  border-right-color     borderRightColor
  border-right-style     borderRightStyle
  border-right-width     borderRightWidth
  border-style     borderStyle
  border-top     borderTop
  border-top-color     borderTopColor
  border-top-style     borderTopStyle
  border-top-width     borderTopWidth
  border-width     borderWidth
  clear     clear
  float     floatStyle
  margin     margin
  margin-bottom     marginBottom
  margin-left     marginLeft
  margin-right     marginRight
  margin-top     marginTop
  padding     padding
  padding-bottom     paddingBottom
  padding-left     paddingLeft
  padding-right     paddingRight
  padding-top     paddingTop
  颜色和背景标签和属性对照
  CSS 语法(不区分大小写)     JavaScript 语法(区分大小写)
  background     background
  background-attachment     backgroundAttachment
  background-color     backgroundColor
  background-image     backgroundImage
  background-position     backgroundPosition
  background-repeat     backgroundRepeat
  color     color
   样式标签和属性对照
  CSS语法(不区分大小写)     JavaScript 语法(区分大小写)
  display     display
  list-style-type     listStyleType
  list-style-image     listStyleImage
  list-style-position     listStylePosition
  list-style     listStyle
  white-space     whiteSpace
  文字样式标签和属性对照
  CSS 语法(不区分大小写)     JavaScript 语法(区分大小写)
  font     font
  font-family     fontFamily
  font-size     fontSize
  font-style     fontStyle
  font-variant     fontVariant
  font-weight     fontWeight
  文本标签和属性对照
  CSS 语法(不区分大小写)     JavaScript 语法(区分大小写)
  letter-spacing     letterSpacing
  line-break     lineBreak
  line-height     lineHeight
  text-align     textAlign
  text-decoration     textDecoration
  text-indent     textIndent
  text-justify     textJustify
  text-transform     textTransform
  vertical-align     verticalAlign
  

JS学习总结之操作文档对象模型的更多相关文章

  1. js下 Day02、DOM文档对象模型

    一.DOM简介 Document Object Model 文档对象模型 DOM包含了所有HTML元素的属性和方法,以及访问他们的方式: #二.DOM节点 #1. 什么是节点? HTML中所有的元素都 ...

  2. js操作文档对象的节点

    好吧,为了能让大家不至于睡着,我们先回顾先前面的东东吧~ 1.首先我们写了javaScriput的是一门弱类型的解释性的脚本语言:弱类型:我们的变量不用申明其具体的数据类型,在使用的时候浏览器根据其存 ...

  3. 前端-javascript-DOM(重点)文档对象模型

    1.DOM概念-文档对象模型 // 什么是DOM ? /* Document Object Model 文档对象模型 面向对象: 三个特性 封装 继承 多态 一个对象: 属性和方法 说 万事万物皆对象 ...

  4. JavaScript编程:文档对象模型DOM

    5.文档对象模型DOM JS里的DOM和XML里的DOM不同,但是解析方式是一样的. document.getElementByID("id")根据ID获得元素节点. 创建和操作节 ...

  5. Javascript学习8 - 脚本化文档(Document对象)

    原文:Javascript学习8 - 脚本化文档(Document对象) 每个Web浏览器窗口(或帧)显示一个HTML文档,表示这个窗口的Window对象有一个document属性,它引用了一个Doc ...

  6. jQuery 选择器 筛选器 样式操作 文本操作 属性操作 文档处理 事件 动画效果 插件 each、data、Ajax

    jQuery jQuery介绍 1.jQuery是一个轻量级的.兼容多浏览器的JavaScript库. 2.jQuery使用户能够更方便地处理HTML Document.Events.实现动画效果.方 ...

  7. 文档对象模型DOM

    文档对象模型 DOM 1 DOM概述 1.1 什么是DOM 文档对象模型 Document Object Model 提供给用户操作document obj 的标准接口 文档对象模型 是表示和操作 H ...

  8. 文档对象模型DOM通俗讲解

    转自:http://www.jb51.net/article/42671.htm 在开始之前先说一点,DOM是非常容易理解的,但是大家说的太官方,让人很是难于理解,我们就用非常简单的语言翻译一遍.加深 ...

  9. Qt入门学习——Qt 5 帮助文档的使用

    Qt入门学习——Qt 5 帮助文档的使用 学习图形界面开发,肯定离不开帮助文档的使用,因为它不像 C 语言那样就那么几个函数接口,图形接口的接口可以用海量来形容,常用的我们可能能记住,其它的真的没有必 ...

随机推荐

  1. bytearray和file的后端上传方式

    public static String readAndUpload(String serverpath,String imgid) { if(serverpath==null){ serverpat ...

  2. (8)ftp配置文档

    1.vsftpd文件夹中的ftpusers文件的作用 它是一个黑名单,ftpusers不受任何配制项的影响 该文件存放的是一个禁止访问FTP的用户列表 管理员不希望一些拥有过大权限的帐号(比如root ...

  3. 洛谷 P1618 三连击(升级版)【DFS/next_permutation()/技巧性枚举/sprintf】

    [链接]:https://www.luogu.org/problemnew/show/P1618 题目描述 将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数的比例是A:B:C,试 ...

  4. setTimeout改变this指向(****************************************)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. 适配iOS7之—UITableView和UISearchBar

    iOS7中,如果用UITableViewStyleGrouped的话,里面的cell会比原来的拉长了,这样做应该是为了统一和UITableViewStylePlain风格时cell的大小一致,所以改用 ...

  6. 算法之美--1.蒙特卡洛方法计算pi

    基本思想: 利用圆与其外接正方形面积之比为pi/4的关系,通过产生大量均匀分布的二维点,计算落在单位圆和单位正方形的数量之比再乘以4便得到pi的近似值.样本点越多,计算出的数据将会越接近真识的pi(前 ...

  7. Flume 开发人员指南V1.5.2

    介绍 概述 Apache Flume是一个用来从非常多不同的源有效地收集.聚集和移动大量的日志数据到一个中心数据仓库的分布式的,可靠的和可用的系统. Apache Flume是Apache软件基金会的 ...

  8. vue2.X 自定义 模态框 modal

    1.自定义 modal Modal.vue <!-- 模态框 --> <template> <div class="modal-mask" v-sho ...

  9. UNP学习笔记(第十七章 ioctl操作)

    ioctl相当于一个杂物箱,它一直作为那些不适合归入其他精细定义类别的特性的系统接口. 本章笔记先放着,到时候有需要再看 ioctl函数 #include <unistd.h> int i ...

  10. HttpRuntime Cache用法及参数解释

    自己用到的: HttpRuntime.Cache.Insert("SchoolBindKcChangci", SchoolBindKcChangci, null, DateTime ...