一般兼容性和特点做了标识(主要是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整理的更多相关文章

  1. JavaScript 精髓整理篇之一(对象篇)postby:http://zhutty.cnblogs.com

    废话篇头: 由于工作关系,所以写博文的时间有那么点~~,其实是输入法太懒了,都是输入法的错~~ 这一系列的博客将总结所有关于JavaScript语言的精髓,适合0基础到大师级别人物阅读. <Ja ...

  2. javascript收集整理

    //特殊字符去掉 function check(obj){ var test=obj.value.match(/[^A-Za-z0-9]/g);//这条语句表示在输入文本中是否包含不符合要求的字符,如 ...

  3. JavaScript基础整理(1)

    最近读了<JavaScript权威指南>这本书,闲来无事对自认为重要的知识做了些整理,方便以后查阅. JavaScript中的最重要的类型就是对象,对象是名/值对的集合,或字符串到值映射的 ...

  4. javascript运算符整理

    说起运算符,基本上各类编程语言中都会涉及,使用方法大同小异.今天在这里以javascript做简单的整理. 总得来说运算符还是比较的多,大致可以分为以下几种类型: 一元运算符 位运算符 布尔运算符 乘 ...

  5. JavaScript 开发经验整理

    前言 今年接触了一个B/S的项目,总结了一些JavaScript开发经验,整理些有用的内容与大家分享. 本文会持续更新... 1.实现代码访问的控制 随着项目JavaScript代码库扩大,本应被控制 ...

  6. JavaScript笔记整理

    整理一篇工作中的JavaScript脚本笔记,不定时更新,笔记来自网上资料或者自己经验归纳. (1) 获取Url绝对路径 function getUrlRelativePath() { var url ...

  7. WEB前端常用JavaScript代码整理

    文章目录 html代码用JS动态加载进页面 JS判断用户访问的是PC还是mobile或者微信浏览器 判断浏览器的简单有效方法 点击某个div区域之外,隐藏该div 如何在手机上禁止浏览器的网页滚动 改 ...

  8. JavaScript学习整理(转载)

    JavaScript的学习整理(一) 目录: 1.换皮肤功能2.显示/隐藏(点击切换)3.显示/隐藏(onmouseover/onmouseout)4.选项卡5.全选/不选/反选(checkbox)6 ...

  9. 常用JavaScript正则表达式整理

    在表单验证中,正则表达式书写起来特别繁琐,本文整理了15个常用的JavaScript正则表达式,其中包括用户名.密码强度.整数.数字.电子邮件地址(Email).手机号码.身份证号.URL地址. IP ...

随机推荐

  1. StackOverflow 第四周周报及19年就业情况分析

    这是 Stack Overflow 第四周周报,两篇 Java.两篇 Python.公众号「渡码」为日更,欢迎关注.另外,我搜集了今年的就业数据,对招聘情况和岗位情况做了简单总结,想了解的朋友点这里. ...

  2. git远程操作相关命令(remote 、push、fetch 、pull)

    git remote 为了便于管理,Git要求每个远程主机都必须指定一个主机名.为了便于管理,Git要求每个远程主机都必须指定一个主机名. git remote[查看创库名] git remote 在 ...

  3. selenium-01-2环境搭建

    首先下载好Eclipse 和配置好Java 环境变量 步骤省略, 请百度     方法一 添加jar包 官方下载地址: http://www.seleniumhq.org/download/ 官方地址 ...

  4. java-整型数值 用 16进制转换、2进制转换-Integer.toHexString

    负数为什么要用补码表示 可以将符号位和其它位统一处理 减法也可按加法来处理 另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃 正数:原码.反码.补码相同. 负数:反码符号位不变 ...

  5. Spring 梳理 - filter、interceptor、aop实现与区别 -第二篇

    spring mvc中的Interceptor可以理解为是Spring MVC框架对AOP的一种实现方式.一般简单的功能又是通用的,每个请求都要去处理的,比如判断token是否失效可以使用spring ...

  6. Linux mint 启动文本模式(不启动图形界面)

    Linux Mint 系统用了很久,很顺手,赞一个! 有一天想同时运行多个虚拟机linux系统做实验,想着只启动文本模式可以省点内存资源,结果试了多种方法都不成功,网上现有针对Ubuntu原版和Cen ...

  7. QT两个窗口相互切换

    信号(signals)与槽(slots)是QT重要机制,例子使用了C++11 lambda表达式进行了信号与槽的连接. 实现两个窗口通过点击按钮完成互相切换,注意子窗口只能发送信号,不能处理,所有信号 ...

  8. asp.net core 使用Mysql和Dapper

    序曲:学习编程最好的方式就是敲代码,没有比这个更好的方法,哪怕你看了上百G的视频,都不如你自己敲几行代码更为有效.还有要记得敲完代码然后写一篇随笔来记录一下你所学所想. 大家都知道,.netcore是 ...

  9. Python爬虫零基础入门(系列)

    一.前言上一篇演示了如何使用requests模块向网站发送http请求,获取到网页的HTML数据.这篇来演示如何使用BeautifulSoup模块来从HTML文本中提取我们想要的数据. update ...

  10. 文件/大文件上传功能实现(JS+PHP)全过程

    文件/大文件上传功能实现(JS+PHP) 参考博文:掘金-橙红年代 前端大文件上传 路漫漫 其修远 PHP + JS 实现大文件分割上传 本文是学习文件上传后的学习总结文章,从无到有实现文件上传功能, ...