javascript 常用DOM操作整理

1.抽取了DOM操作中常用的部分

2.DOM属性和方法的对象归属可能并不完全准确

3.某些兼容性和特点做了标识(绝大部分的兼容性是ie8~9上下)

节点类型

节点类型 节点值

标签节点(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 最后一个子节点

Document类型

属性 说明

documentElement html标签

head[兼容性不够] head标签

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() 返回指定类名的元素集合

querySelector() 返回符合选择器的第一个元素

querySelectorAll() 返回符合选择器的元素集合

createElement() 创建元素节点

createTextNode() 创建文本节点

createAttribute() 创建属性节点

createComment() 创建注释节点

createDocumentFragment() 创建空的 DocumentFragment 对象

matchesSelector()[兼容性不够,需要前缀] 该选择器是否符合元素匹配

write()[输出后光标不换行] 文档文本写入

writeIn()[输出后光标换行] 文档文本写入

Element类型

属性 说明

id id

className 类名

title 标题

style 设置或返回元素的样式属性

innerHTML 设置或者返回元素的内容

outerHTML[包含自身] 设置或者返回元素的内容

textContent[ie-innerText] 设置或返回文本内容

contentEditable 设置或返回元素的可编辑状态

isContentEditable 是否可编辑

childElementCount 子元素节点个数

firstElementChild 第一个元素节点

lastElementChild 最后一个元素节点

previousElementSibling 上一个元素节点

nextElementSibling 下一个元素节点

方法 说明 返回

focus() 设置焦点

blur() 去除焦点

appendChild(节点) 在子节点列表之后插入 新增节点

insertBefore(节点,参照节点) 在参照节点之前插入节点 插入节点

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() 合并相邻文本节点,并删除空的文本节点

样式操作

访问元素样式

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) 说明

cssRules[ie不支持] 单个样式表中的所有样式规则

rules[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存在游览器差异

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容