DOM类型

 Node类型:

常用类型:

​    ​    ​元素节点 ELEMENT_NODE

​    ​    ​属性节点 ATTRIBUTE_NODE

​    ​    ​文本节点 TEXT_NODE

IE不支持节点类型常量名、兼容方案:

1
2
3
4
5
6
if (typeof Node == 'undefined') { //IE 返回
    window.Node = {
        ELEMENT_NODE : 1,
        TEXT_NODE : 3
    };
}

 Document类型:

获取元素

document.documentElement

document.doctype

document.body

属性

document.title

document.URL

document.domian

document.referrer

对象集合

document.forms

document.images

document.anchors 获取带name的a元素

document.links 获取带href的a元素

 Text类型:

同时创建两个同级别的文本节点,会产生分离的两个节点

文本节点合并 box.normalize();

文本节点分割 box.firstChild.splitText(3);

其他方法

deleteData(offset,count) 删除文本数据

insertData(offset,str) 插入文本数据

replaceData(offset,count,str) 替换文本数据

substringData(offset,count) 截取文本数据

DOM扩展

 呈现模式:

标准模式8 CSS1Compat

判断为标准模式 document.documentMode > 7

仿真模式7

混杂模式5 BackCompat

 滚动:

设置指定可见

1
ele.scrollIntoView();

 children属性:

获取子元素节点(去除空白节点)

 contains():

父元素是否包含子元素

DOM操作内容

 innerText:

获取元素内的文本内容,html会过滤

设置元素内的文本内容,hmtl会转义

firefox除外都支持,firefox兼容方法textContent

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function getInnerText(element) {
    if (typeof element.textContent == 'string') {
        return element.textContent;
    else {
        return element.innerText;
    }
}
function setInnerText(element, text) {
    if (typeof element.textContent == 'string') {
        element.textContent = text;
    else {
        element.innerText = text;
    }
}

 innerHTML:

获取元素内的内容,html不过滤

​    ​设置元素内的内容,hmtl会解析,script,style不会解析

 outerText:

和innerText一样,包括自身,不支持firefox

 outerHTML:

和innerHTML一样,包括自身

DOM系统学习-进阶的更多相关文章

  1. DOM系统学习-基础

    DOM介绍  DOM介绍: D 网页文档 O 对象,可以调用属性和方法 M 网页文档的树型结构  节点: DOM将树型结构理解为由节点组成.     节点种类: 元素节点.文本节点.属性节点等 查找元 ...

  2. DOM系统学习-表格、样式和元素大小

    操作表格  属性: caption    标题元素 tHead    表头元素 tFoot    表尾元素 tBodies    主体元素集合,通过下标取 row    行元素集合,通过下标取  方法 ...

  3. HTML DOM(学习笔记二)

    嗯,在HTML DOM(学习笔记一)中简单描述了一下HTML DOM 是什么,这一篇将记录下来有关HTML DOM的内容! 1:DOM节点 首先,再来看一下HTML DOM的树状结构,如下图所示: 这 ...

  4. Tomcat 学习进阶历程之Tomcat架构与核心类分析

    前面的http及socket两部分内容,主要是为了后面看Tomcat源代码而学习的一些网络基础.从这章開始.就開始实际深入到Tomcat的'内在'去看一看. 在分析Tomcat的源代码之前,准备先看一 ...

  5. 天天都在用Git,那么你系统学习过吗?(一)学习过程

    你系统学习Git了吗? 使用Mac编程的好处,不是因为Mac长得好看 Git内容学习准备 如果你还没有用Git,就不要写代码了. GitHub仓库的使用. 新员工入职的时候,会让他先用一周的时间去学习 ...

  6. GIT学习——天天都在用Git,那么你系统学习过吗?(学习过程)

    你系统学习Git了吗? 学习圣思园张龙老师的Git课程. 使用Mac编程的好处,不是因为Mac长得好看 Git内容学习准备 如果你还没有用Git,就不要写代码了. GitHub仓库的使用. 新员工入职 ...

  7. 零基础如何系统学习Java Web

    零基础如何系统学习Java Web?   我来给你说一说 你要下决心,我要转行做开发,这样你才能学成. 你要会打字,我公司原来有一个程序员,打字都是两个手一指禅,身为程序员你一指禅怎么写出的代码,半个 ...

  8. Unity3D 装备系统学习Inventory Pro 2.1.2 基础篇

    前言 前一篇 Unity3D 装备系统学习Inventory Pro 2.1.2 总结 基本泛泛的对于Inventory Pro 这个插件进行了讲解,主要是想提炼下通用装备系统结构和类体系.前两天又读 ...

  9. MES系统学习

    MES系统是当今制造型企业信息化的热点,而统一建模语言UML是面向对象建模的标准语言,在软件工程发挥着重要作用.MES系统如何进行UML建模呢,今天和大家重点讨论一下MES系统的UML建模方法,请看本 ...

随机推荐

  1. [BZOJ1026][SCOI2009]windy数 解题报告|数位dp

    Description windy定义了一种windy数.不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道,在A和B之间,包括A和B,总共有多少个windy数? 一直 ...

  2. DotNETCore 学习笔记 配置

    Configuration var builder = new ConfigurationBuilder(); builder.AddInMemoryCollection(); var config ...

  3. thinkphp 导入微信小程序加密解密库

    第三方类库 第三方类库指除了 ThinkPHP 框架.应用项目类库之外的其他类库,一般由第三方系统或产品提供,如 Smarty.Zend 等系统的类库等. 前面使用自动加载或 import 方法导入的 ...

  4. java 获取当前应用程序路径

    package javaapplication1; import javax.swing.JOptionPane; /** * * @author Administrator */ public cl ...

  5. (五)对linux内核中jiffies+Hz表示一秒钟的理解

    jiffies在内核中是一个全局变量,它用来统计系统启动以来系统中产生的总节拍数,这个变量定义在include/Linux/jiffies.h中,定义形式如下. unsigned long volat ...

  6. php编译中遇到种种error解决办法

    http://my.oschina.net/maczhao/blog/365176 编译PHP5.5 make 时出现错误 make: *** [ext/fileinfo/libmagic/appre ...

  7. OpenCV-2.4.6-android-sdk 人脸识别demo搭建

    最近项目需要研究下人脸识别,在领导推荐下准备研究OpenCV 一,上官网了解下 基本知识 http://docs.opencv.org/doc/tutorials/introduction/andro ...

  8. golang进行加密

    crc64加密 package main import ( "fmt" "hash/crc64" ) func main(){ s:="打死udhan ...

  9. Java虚拟机栈 和 方法区 的联系

    1.Java虚拟机栈 java方法执行时的内存模型 1.1 栈帧 每个方法都会在虚拟机栈中创建一个对应的栈帧,用于存储局部变量表,操作数栈,动态链接,方法出口等信息. 一个方法的调用到结束就对应这一个 ...

  10. 【转】jenkins插件pipeline使用介绍

    摘要: pipeline字面意思就是流水线,将很多步骤按顺序排列好,做完一个执行下一个.下面简单介绍下如何使用该插件帮我们完成一些流水线型的任务 pipeline字面意思就是流水线,将很多步骤按顺序排 ...