javascript domAPI整理
对一般兼容性和特点做了标识(主要是ie8+)
节点类型
| 节点类型 | 节点值 |
|---|---|
| 标签节点(Element) | 1 |
| 属性节点(Attr) | 2 |
| 文本节点(Text) | 3 |
| CDATA节点(CDATASetion) | 4 |
| 实体引用节点(EntityReference) | 5 |
| 实体节点(Entity) | 6 |
| 处理指令节点(ProcessingInstruction) | 7 |
| 注释节点(Comment) | 8 |
| 文档节点(Document) | 9 |
| 文档类型节点(DocumentType) | 10 |
| 文档片段节点(DocumentFragment) | 11 |
| DTD声明节点(Notation) | 12 |
Node类型
| 属性 | 说明 |
|---|---|
| nodeType | 节点类型 |
| nodeName | 节点名 |
| nodeValue | 节点值 |
| childNodes | 子节点 |
| parentNode | 父节点 |
| ownerDocument | 文档节点 |
| previousSibling | 上一个节点 |
| nextSibling | 下一个节点 |
| firstChild | 第一个子节点 |
| lastChild | 最后一个子节点 |
| 方法 | 说明 |
|---|---|
| remove() | 获取属性值[ie不支持] |
| before() | 在节点前插入[兼容性较差] |
| after() | 在节点后插入[兼容性较差] |
| prepend() | 在第一个子节点前插入[兼容性较差] |
| append() | 在最后一个子节点后插入[兼容性较差] |
Document类型
| 属性 | 说明 |
|---|---|
| documentElement | html标签 |
| head | head标签[ie9+] |
| body | body标签 |
| URL | 当前页url |
| referrer | 来源页url |
| domain | 页面域名 |
| images | 所有图片集合 |
| cookie | cookie信息 |
| title | 页面标题 |
| activeElement | 当前焦点元素 |
| documentMode | 文档模式 |
| readyState | 文档状态 |
| doctype | 文档类型声明 |
| scripts | 脚本集合 |
| forms | form标签集合 |
| children | 元素类型的子节点集合 |
| defaultView | document关联的window对象 |
| 方法 | 说明 |
|---|---|
| getElementById() | 返回对应id的元素 |
| getElementsByName() | 返回对应名称元素集合 |
| getElementsByTagName() | 返回对应标签名元素集合 |
| getElementsByClassName() | 返回指定类名的元素集合[ie不支持] |
| querySelector() | 返回符合选择器的第一个元素 |
| querySelectorAll() | 返回符合选择器的元素集合 |
| createElement() | 创建元素节点 |
| createTextNode() | 创建文本节点 |
| createAttribute() | 创建属性节点 |
| createComment() | 创建注释节点 |
| createDocumentFragment() | 创建空的 DocumentFragment 对象 |
| matchesSelector() | 该选择器是否符合元素匹配[实现不统一,需要前缀] |
| write() | 文档文本写入[输出后光标不换行] |
| writeIn() | 文档文本写入[输出后光标换行] |
| implementation.hasFeature(特性,版本) | 特性监测 |
Element类型
| 属性 | 说明 |
|---|---|
| id | id |
| className | 类名 |
| classList.add('类名') | 添加指定类名[ie10+] |
| classList.remove('类名') | 删除指定类名[ie10+] |
| classList.contains('类名') | 是否包含指定类名[ie10+] |
| classList.toggle('类名') | 交替指定类名[ie10+] |
| title | 标题 |
| style | 设置或返回元素的样式属性 |
| children | 元素子集合 |
| innerHTML | 设置或者返回元素的内容 |
| outerHTML | 设置或者返回元素的内容[包含自身] |
| textContent | 设置或返回文本内容[ie不支持] |
| innerText | 设置或返回文本内容[ie支持] |
| contentEditable | 设置或返回元素的可编辑状态 |
| isContentEditable | 是否可编辑 |
| childElementCount | 子元素节点个数 |
| firstElementChild | 第一个子元素节点 |
| lastElementChild | 最后一个子元素节点 |
| previousElementSibling | 上一个元素节点 |
| nextElementSibling | 下一个元素节点 |
| 方法 | 说明 | 返回 |
|---|---|---|
| focus() | 设置焦点 | |
| blur() | 失去焦点 | |
| appendChild(节点) | 在子节点列表之后插入 | 新增节点 |
| insertBefore(节点,参照节点) | 在参照节点之前插入节点 | 插入节点 |
| insertAdjacentText(位置,节点内容) | 在指定位置插入文本 | |
| insertAdjacentHTML(位置,节点内容) | 在指定位置插入html或文本 | |
| removeChild(节点) | 节点删除 | 被删节点 |
| replaceChild(节点,被替换的节点) | 节点替换 | 被替换节点 |
| cloneNode(布尔值) | 复制节点 | 克隆节点 |
| importNode(节点,布尔值) | 从A文档中取得a节点,将其导入B文档(类似cloneNode方法) | |
| contains(节点) | 该节点是否为调用节点的子级 | 布尔值 |
| hasFocus() | 是否获得了焦点 | 布尔值 |
| hasChildNodes() | 是否存在子节点 | 布尔值 |
| isDefaultNamespace(url) | 是否指定了名称空间 | 布尔值 |
| isEqualNode(节点) | 两个元素是否相等 | 布尔值 |
| isSupported(特性,版本) | 是否支持某特性 | 布尔值 |
Attr类型
| 属性 | 说明 |
|---|---|
| name | 属性名 |
| value | 属性值 |
| isId | 是否为id类型 |
| specified | 属性是否被指定 |
| length | 属性长度 |
| attributes | 属性集合 |
| 方法 | 说明 |
|---|---|
| getAttribute() | 获取属性值 |
| getAttributeNode() | 获取属性节点 |
| setAttribute() | 设置属性值 |
| setAttributeNode() | 设置属性节点 |
| removeAttribute() | 删除属性 |
| removeAttributeNode() | 删除属性节点[ie不支持] |
| hasAttribute() | 是否存在指定的属性 |
| hasAttributes() | 是否存在属性 |
Text类型
| 方法 | 说明 |
|---|---|
| appendData(文本) | 将text添加到节点的末尾 |
| deleteData(位置,数量) | 从指定位置开始删除n个字符 |
| insertData(位置,文本) | 从指定位置插入文本 |
| replaceData(位置,数量,文本) | 用text替换从offset位置开始到offset+count为止处的文本 |
| splitText(位置) | 从指定位置将当前文本节点分裂成两个文本节点 |
| substringData(位置,数量) | 截取从offset位置开始到offset+count为止处的字符串 |
| normalize() | 合并相邻文本节点,并删除空的文本节点 |
表格操作
table元素
| 属性方法 | 说明 | ||
|---|---|---|---|
| caption | caption元素指针 | ||
| tBodies | tbody集合 | ||
| tFoot | tfoot集合 | ||
| tHead | thead元素 | ||
| rows | 表格所有行集合 | ||
| createTHead() | 创建
元素,将其放到表格中,返回引用
| createTFoot() |
创建 | |
| createCaption() | 创建caption元素,将其放到表格中,返回引用 | ||
| deleteTHead() | 删除thead元素 | ||
| deleteTFoot() | 删除tfoot元素 | ||
| deleteCaption() | 删除caption元素 | ||
| deleteRow(pos) | 删除指定位置的行 | ||
| insertRow(pos) | 向行集合中的指定位置插入一行 |
tbody元素
| 属性方法 | 说明 |
|---|---|
| rows | tbody所有行集合 |
| deleteRow(pos) | 删除指定位置的行 |
| insertRow(pos) | 向行集合中的指定位置插入一行,返回引用 |
tr元素
| 属性方法 | 说明 |
|---|---|
| cells | tr所有单元格集合 |
| deleteCell(pos) | 删除指定位置的单元格 |
| insertCell(pos) | 向单元格集合中的指定位置插入一个单元格,返回引用 |
样式操作
访问元素样式
- DOM样式——js通过dom.style只能访问直接样式属性,不能访问嵌入样式表和外部样式表
| 属性方法(dom.style) | 说明 |
|---|---|
| cssText | 返回style特性中所有样式的字符串形式 |
| length | 返回元素中CSS属性数量 |
| parentRule | 返回CSS信息的CSSRule对象 |
| getPropertyCSSValue(name) | 返回属性值的CSSValue对象(包含cssText和cssValueType) |
| getPropertyPriority(name) | 是否使用了!important属性 |
| getPropertyValue(name) | 返回给定属性的字符串值 |
| removeProperty(name) | 从样式中删除给定属性 |
| setProperty(name,value,优先级) | 将给定属性设置为相应的值并加上优先级 |
- 计算样式——样式层叠后实际起用的样式
| 属性方法 | 说明 |
|---|---|
| document.defaultView.getComputedStyle(dom,伪元素字符串) | 返回当前元素所有计算后的样式[ie不支持] |
| dom.currentStyle | 返回当前元素所有计算后的样式[ie支持] |
操作样式表
- document.styleSheets——应用于文档的所有样式表
| 属性(document.styleSheet[n]) | 说明 |
|---|---|
| cssRules | 单个样式表中的所有样式规则[ie不支持] |
| rules | 同上[ie支持] |
| insertRule(rule,index) | 向cssRules集合中指定位置插入rule字符串[ie不支持] |
| addRule(rule,index) | 同上[ie支持] |
| deleteRule(index) | 删除cssRules集合中指定位置的规则[ie不支持] |
| removeRule(index) | 同上[ie支持] |
- document.styleSheets[n].cssRules/rules下
| 属性 | 说明 |
|---|---|
| cssText | 整条样式规则的字符串[ie不支持] |
| selectorText | 样式选择符 |
| style | 具体样式对象 |
大小和偏移
| 属性 | 说明 |
|---|---|
| offsetParent | 偏移的父容器 |
| getBoundingClientRect() | 获取页面元素实际位置和宽高__(返回属性对象)__ |
| offsetWidth | 元素宽度__(可视内容区+滚动条+内边距+边框)__ |
| offsetHeight | 元素高度__(可视内容区+滚动条+内边距+边框)__ |
| offsetLeft | 与相邻父级的左距离 |
| offsetTop | 与相邻父级的上距离 |
| clientWidth | 元素宽度__(可视内容区+内边距)__ |
| clientHeight | 元素高度__(可视内容区+内边距)__ |
| clientLeft | 内边距边缘与边框边缘的距离__(左边框)__ |
| clientTop | 内边距边缘与边框边缘的距离__(上边框)__ |
| scrollWidth | 元素宽度__(可视内容区+滚动内容区+内边距)__ |
| scrollHeight | 元素高度__(可视内容区+滚动内容区+内边距)__ |
| scrollLeft | 隐藏的滚动宽度__(待滚动宽度)__ |
| scrollTop | 隐藏的滚动高度__(待滚动宽度)__ |
兼容性
clientWidth/clientHeight和scrollWidth/scrollHeight存在游览器差异
javascript domAPI整理的更多相关文章
- JavaScript 精髓整理篇之一(对象篇)postby:http://zhutty.cnblogs.com
废话篇头: 由于工作关系,所以写博文的时间有那么点~~,其实是输入法太懒了,都是输入法的错~~ 这一系列的博客将总结所有关于JavaScript语言的精髓,适合0基础到大师级别人物阅读. <Ja ...
- javascript收集整理
//特殊字符去掉 function check(obj){ var test=obj.value.match(/[^A-Za-z0-9]/g);//这条语句表示在输入文本中是否包含不符合要求的字符,如 ...
- JavaScript基础整理(1)
最近读了<JavaScript权威指南>这本书,闲来无事对自认为重要的知识做了些整理,方便以后查阅. JavaScript中的最重要的类型就是对象,对象是名/值对的集合,或字符串到值映射的 ...
- javascript运算符整理
说起运算符,基本上各类编程语言中都会涉及,使用方法大同小异.今天在这里以javascript做简单的整理. 总得来说运算符还是比较的多,大致可以分为以下几种类型: 一元运算符 位运算符 布尔运算符 乘 ...
- JavaScript 开发经验整理
前言 今年接触了一个B/S的项目,总结了一些JavaScript开发经验,整理些有用的内容与大家分享. 本文会持续更新... 1.实现代码访问的控制 随着项目JavaScript代码库扩大,本应被控制 ...
- JavaScript笔记整理
整理一篇工作中的JavaScript脚本笔记,不定时更新,笔记来自网上资料或者自己经验归纳. (1) 获取Url绝对路径 function getUrlRelativePath() { var url ...
- WEB前端常用JavaScript代码整理
文章目录 html代码用JS动态加载进页面 JS判断用户访问的是PC还是mobile或者微信浏览器 判断浏览器的简单有效方法 点击某个div区域之外,隐藏该div 如何在手机上禁止浏览器的网页滚动 改 ...
- JavaScript学习整理(转载)
JavaScript的学习整理(一) 目录: 1.换皮肤功能2.显示/隐藏(点击切换)3.显示/隐藏(onmouseover/onmouseout)4.选项卡5.全选/不选/反选(checkbox)6 ...
- 常用JavaScript正则表达式整理
在表单验证中,正则表达式书写起来特别繁琐,本文整理了15个常用的JavaScript正则表达式,其中包括用户名.密码强度.整数.数字.电子邮件地址(Email).手机号码.身份证号.URL地址. IP ...
随机推荐
- kafka报错:Invalid message size: 0
现象 1.kafka topic 部分分区积压 2.问题kafka 节点上一直报错:java.lang.IllegalStateException: Invalid message size: 0 [ ...
- Python+OpenCV竖版古籍文字分割
在做图片文字分割的时候,常用的方法有两种.一种是投影法,适用于排版工整,字间距行间距比较宽裕的图像:还有一种是用OpenCV的轮廓检测,适用于文字不规则排列的图像. 1. 思路 一开始想偷个懒,直接用 ...
- Redis数据库之KEY的操作与事务管理
目的 了解并掌握各种数据类型的命令操作方式,以及各种数据类型值的操作方式.同时,主要培养对KEY的操作命令运用的能力.重点掌握对KEY信息的管理.事务常规管理和事务回滚操作. KEYS命令的练习,对K ...
- Redis数据库之数据基本管理操作
了解并掌握各种数据类型的命令操作方式,以及各种数据类型值的操作方式.同时,熟练记忆列表.哈希.集合和有序集合等数据类型的常用操作命令.能根据指令格式完成相应的指令操作. ①string数据类型的练习 ...
- Spring 梳理-启用MVC
启用注解启动的Spring MVC xml <mvc:annotation-dirven> <mvc:annotation-driven /> 是一种简写形式,完全可以手动配置 ...
- tomcat设定shared lib共享同样的jar
在项目越来越多的时候,部署在tomcat的发布包也会越来越多,这样难免有很多相同的jar会被加载,占用大量的永久存续区内存,通过设定shared lib来控制相同的jar只加载一个,这样有以下好处: ...
- FTP协议的主动模式和被动模式的区别
最近准备做一个<FtpCopy系列教程>,主要讲解Ftp协议主动模式和被动模式的区别.以及FTP服务器的安装部署,然后通过几个常用实例演示,详细讲解如何使用FtpCopy进行数据自动备份. ...
- Solidity 编程实例--投票
Voting 投票 思路是为每张选票创建一个合约,每个投票选项提供一个短名称.合约创建者作为会长将会给每个投票参与人各自的地址投票权. 地址后面的人们可以选择自己投票或者委托信任的代表人替他们投票.在 ...
- ui自动化测试
一.梳理 1.根据要求需要自动添加很多条数据 2.这就涉及到ui方面的知识.元素定位的方法(这个就能遇到很多坑,要完全掌握元素定位才能避免进坑).循环等(代码基础要掌握好) 二.操作 选择进行自动化操 ...
- XCTF-web2
这种题目是比较简单地..直接写个小脚本就行了2333 <?php $a=" a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2Z ...