DOM的常见操作有哪些?

大家好,我是IT修真院的学员,一枚正直纯洁善良的web前端程序员

今天给大家分享一下DOM的常见操作有哪些?

1.背景介绍

DOM(文档对象模型)是针对HTML 和XML 文档的一个API(应用程序编程接口)。DOM描 绘了一个层次化的节点树,允许开发人员添加、移除和修改页面的某一部分。DOM脱胎于 Netscape 及微软公司创始的DHTML(动态HTML),但现在它已经成为表现和操作页面标记的真正的跨 平台、语言中立的方式。

1998 年10 月DOM1级规范成为W3C 的推荐标准,为基本的文档结构及查询提供了接口。本章主 要讨论与浏览器中的HTML页面相关的DOM1级的特性和应用,以及JavaScript 对DOM1级的实现。 IE、Firefox、Safari、Chrome 和Opera 都非常完善地实现了DOM。

2.知识剖析

什么是DOM

DOM 是 Document Object Model(文档对象模型)的缩写。 DOM是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。 在 HTML DOM中,所有事物都是节点。DOM 是被视为节点树的 HTML。

DOM节点

HTML 文档中的所有内容都是节点。整个文档是一个文档节点,每个 HTML 元素是元素节点, HTML 元素内的文本是文本节点,每个 HTML 属性是属性节点,注释是注释节点。

像是我们现在所看到的这个ppt,我们在编写时,会用到诸如、、、

这些元素。 如果把Web上的文档比作一座大厦,那么元素就是建造这座大厦的砖块,这些元素在在文档中的布局形成了文档的结构。元素可以包含其他的元素,在我们的ppt首页中,内容都被包含在在一个'

'元素的内部。而唯一没有被包含在其他元素中的唯一元素是'',他和我们的节点树的根元素,其他的所有元素都被包含在''中。

元素节点只是节点类型的一种。如果一份文档完全有一些空白元素构成,他将有一个结构,但这份文档本身将不会包含什么内容。

在我们的ppt首页中,'

'元素包含着文本’。他就是一个文本节点。在html文档里,文本节点总是被包含在元素节点的内部。

属性节点用来对元素做出更具体的描述。例如,几乎所有的元素都有一个title属性,而我们可以利用这个属性对包含在元素里的东西做出准确的描述: 

'

这是一个带有温馨提示的p标签

在DOM中,title="a gentle reminder"是一个属性节点。因为属性总是被放在起始标签里,所以属性节点总是被包含在元素节点中。并非所有的标签都包含着属性,但是所有的属性都被元素包含。

DOM常用操作

查找节点

新建节点

添加节点

删除节点

修改节点

我们用到最多的是element类型,用于表现HTML元素,提供了对元素标签名、子节点及特性的访问。

DOM常用操作举例

查找节点

document.getElementById('id属性值');

返回拥有指定id的第一个对象的引用

document/element.getElementsByClassName('class属性值');

返回拥有指定class的对象集合

新建节点

document.createElement('元素名');

创建新的元素节点

document.createAttribute('属性名');

创建新的属性节点

document.createTextNode('文本内容');

创建新的文本节点

document.createComment('注释节点');

创建新的注释节点

document.createDocumentFragment( );

创建文档片段节点

DOM常用操作

添加节点

常用来添加文本节点element.innerHTML='新增文本内容'

DOM常用操作

删除节点

parentNode.removeChild( existingChild );

删除已有的子节点,返回值为删除节点

element.removeAttribute('属性名');

删除具有指定属性名称的属性,无返回值

element.removeAttributeNode( attrNode );

删除指定属性,返回值为删除的属性

DOM常用操作

修改节点

添加属性节点,修改属性值:

element.setAttribute( attributeName, attributeValue ); 

DOM事件

允许 JavaScript 对 HTML 事件作出反应

onclick 事件——当用户点击时

onload 事件——用户进入

onunload 事件——用户离开

onmouseover事件——鼠标移入

onmouseout事件——鼠标移出

onmousedown事件——鼠标按下

onmouseup 事件——鼠标抬起

3.常见问题

如何通过class和tag调用元素?如何对其设置属性?

4.解决方案

一个页面中常常有多个class相同的元素,也有多个标签相同的元素,在调用时方法如下

5.编码实战

6.扩展思考

Html5添加了辅助管理DOM焦点的功能。首先就是document.activeElement属性, 这个属性始终会引用DOM中当前获得了焦点的元素。 另外就是新增了document.hasFocus()方法,这个方法用于确定文档是否获得了焦点。 我们可以去学习HTML5中的一些新内容。

7.参考文献

参考一:《JavaScript高级程序设计》

参考二:DOM树知识点梳理

8.更多讨论

问题:

1.文档节点(document)的属性值是什么

答:通过Document对象属性其返回值都是一单独对象,或HTML Element元素对象

2.怎么确定使用哪种方法获取dom方法?

答:看需要获取的类名,应用场景

3.除了根节点,节点之间的关系有哪几种?

答:请点击

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

推荐阅读更多精彩内容

  •   DOM(文档对象模型)是针对 HTML 和 XML 文档的一个 API(应用程序编程接口)。   DOM 描绘...
    霜天晓阅读 3,613评论 0 7
  •   DOM 1 级主要定义的是 HTML 和 XML 文档的底层结构。   DOM2 和 DOM3 级则在这个结构...
    霜天晓阅读 1,416评论 1 3
  • 之前通过深入学习DOM的相关知识,看了慕课网DOM探索之基础详解篇这个视频(在最近看第三遍的时候,准备记录一点东西...
    微醺岁月阅读 4,449评论 2 62
  • 休息
    c93ffd59f5c4阅读 73评论 0 0
  • 故事是从一通电话开始的。 叮铃铃……叮铃铃……叮,喂,你好! 是我,小静。 呀,瞎都碰呀!你到底回来没,我好久没有...
    濛濛细语阅读 228评论 0 0