DOM系统学习-进阶
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系统学习-进阶的更多相关文章
- DOM系统学习-基础
DOM介绍 DOM介绍: D 网页文档 O 对象,可以调用属性和方法 M 网页文档的树型结构 节点: DOM将树型结构理解为由节点组成. 节点种类: 元素节点.文本节点.属性节点等 查找元 ...
- DOM系统学习-表格、样式和元素大小
操作表格 属性: caption 标题元素 tHead 表头元素 tFoot 表尾元素 tBodies 主体元素集合,通过下标取 row 行元素集合,通过下标取 方法 ...
- HTML DOM(学习笔记二)
嗯,在HTML DOM(学习笔记一)中简单描述了一下HTML DOM 是什么,这一篇将记录下来有关HTML DOM的内容! 1:DOM节点 首先,再来看一下HTML DOM的树状结构,如下图所示: 这 ...
- Tomcat 学习进阶历程之Tomcat架构与核心类分析
前面的http及socket两部分内容,主要是为了后面看Tomcat源代码而学习的一些网络基础.从这章開始.就開始实际深入到Tomcat的'内在'去看一看. 在分析Tomcat的源代码之前,准备先看一 ...
- 天天都在用Git,那么你系统学习过吗?(一)学习过程
你系统学习Git了吗? 使用Mac编程的好处,不是因为Mac长得好看 Git内容学习准备 如果你还没有用Git,就不要写代码了. GitHub仓库的使用. 新员工入职的时候,会让他先用一周的时间去学习 ...
- GIT学习——天天都在用Git,那么你系统学习过吗?(学习过程)
你系统学习Git了吗? 学习圣思园张龙老师的Git课程. 使用Mac编程的好处,不是因为Mac长得好看 Git内容学习准备 如果你还没有用Git,就不要写代码了. GitHub仓库的使用. 新员工入职 ...
- 零基础如何系统学习Java Web
零基础如何系统学习Java Web? 我来给你说一说 你要下决心,我要转行做开发,这样你才能学成. 你要会打字,我公司原来有一个程序员,打字都是两个手一指禅,身为程序员你一指禅怎么写出的代码,半个 ...
- Unity3D 装备系统学习Inventory Pro 2.1.2 基础篇
前言 前一篇 Unity3D 装备系统学习Inventory Pro 2.1.2 总结 基本泛泛的对于Inventory Pro 这个插件进行了讲解,主要是想提炼下通用装备系统结构和类体系.前两天又读 ...
- MES系统学习
MES系统是当今制造型企业信息化的热点,而统一建模语言UML是面向对象建模的标准语言,在软件工程发挥着重要作用.MES系统如何进行UML建模呢,今天和大家重点讨论一下MES系统的UML建模方法,请看本 ...
随机推荐
- 【2016-09-27-DP小练】
得分250..我真是个250... 犯了一些很搞笑的错.. f[i][j][k]表示第i个苹果,现在在j这个位置,还能用k次转移. 用i去更新i+1. 时间复杂度1000*2*30: 转移方程有个地方 ...
- [Leetcode Week8]Subsets II
Subsets II 题解 原创文章,拒绝转载 题目来源:https://leetcode.com/problems/subsets-ii/description/ Description Given ...
- module加载过程初步分析[更新中]【转】
转自:http://blog.chinaunix.net/uid-1817735-id-2837068.html 分析这个过程可以有助于我们认识在加载模块时出现的问题大抵在哪里了. 直接从sys_in ...
- Github上的几个C++开源项目
Github上的几个C++开源项目 http://blog.csdn.net/fyifei0558/article/details/47001677 http://www.zhihu.com/ques ...
- OleDbDataAdapter具体使用11
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 几种常用排序算法的python实现
1:快速排序 思想: 任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序. 一趟快速排序的算法是: 1)设置 ...
- MyBatis3-实现多表关联数据的查询
前提: 1.新建Article表和增加模拟数据,脚本如下: Drop TABLE IF EXISTS `article`; Create TABLE `article` ( `id` ) NOT NU ...
- 对数据访问层的重构(及重构中Perl的应用)
以前上学的时候,听到“一个学生在毕业后刚刚开始编程的头几年中,写出的代码多半是垃圾”这样的说法,均不屑一顾.现在工作一年多了,越发感觉自己代码中疏漏处甚多,故近来常做亡羊补牢的重构之举.拿自己4个月前 ...
- 架构体系需要进一步研究探索的V2路线图
https://github.com/dawnbreaks/mysql2redis/blob/master/README.md http://blog.163.com/zhangjie_0303/bl ...
- PHP的文件操作类
<?php class file { function file() { die("Class file can not instantiated!"); } //创建目录 ...