0

0

js中常用DOM操作有哪些?

零下一度

零下一度

发布时间:2017-06-24 14:33:49

|

1361人浏览过

|

来源于php中文网

原创

.选取了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()[输出后光标换行] 文档文本写入
implementation.hasfeature(特性,版本) 特性监测

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

表格操作

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)[ie不支持] 向cssRules集合中指定位置插入rule字符串
addRule(rule,index)[ie支持] 同上
deleteRule(index)[ie不支持] 删除cssRules集合中指定位置的规则
removeRule(index)[ie支持] 同上
  • document.styleSheets[n].cssRules/rules下

    动感购物HTML
    动感购物HTML

    修正了V1.10的一些BUG感购物HTML系统是集合目前网络所有购物系统为参考而开发,代码采用DIV编号,不管从速度还是安全我们都努力做到最好,此版虽为免费版但是功能齐全,无任何错误,特点有:专业的、全面的电子商务解决方案,使您可以轻松实现网上销售;自助式开放性的数据平台,为您提供充满个性化的设计空间;功能全面、操作简单的远程管理系统,让您在家中也可实现正常销售管理;严谨实用的全新商品数据库,便于

    下载
属性 说明
cssText[ie不支持] 整条样式规则的字符串
selectorText 样式选择符
style 具体样式对象

大小和偏移

属性 说明
offsetParent 偏移的父容器
getBoundingClientRect() 获取页面元素实际位置和宽高(返回属性对象)
offsetWidth 元素宽度(可视内容区+滚动条+内边距+边框)
offsetHeight 元素高度(可视内容区+滚动条+内边距+边框)
offsetLeft 与相邻父级的左距离
offsetTop 与相邻父级的上距离
clientWidth 元素宽度(可视内容区+内边距)
clientHeight 元素高度(可视内容区+内边距)
clientLeft 内边距边缘与边框边缘的距离(左边框)
clientTop 内边距边缘与边框边缘的距离(上边框)
scrollWidth 元素宽度(可视内容区+滚动内容区+内边距)
scrollHeight 元素高度(可视内容区+滚动内容区+内边距)
scrollLeft 隐藏的滚动宽度(待滚动宽度)
scrollTop 隐藏的滚动高度(待滚动宽度)
兼容性

clientWidth/clientHeight和scrollWidth/scrollHeight存在游览器差异


学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入学习交流群

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

1044

2026.02.13

微博网页版主页入口与登录指南_官方网页端快速访问方法
微博网页版主页入口与登录指南_官方网页端快速访问方法

本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

334

2026.02.13

Flutter跨平台开发与状态管理实战
Flutter跨平台开发与状态管理实战

本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

213

2026.02.13

TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

35

2026.02.13

Redis高可用架构与分布式缓存实战
Redis高可用架构与分布式缓存实战

本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。

111

2026.02.13

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

77

2026.02.12

雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法
雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法

本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。

17

2026.02.12

豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法
豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法

本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。

813

2026.02.12

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

97

2026.02.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

相关下载

更多

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
React 教程
React 教程

共58课时 | 5.4万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 3.1万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号