文章目录
前言
DOM(文档对象模型)是针对HTML和XML文档的一个API。DOM描绘了一个层次化的节点树,允许开发人员添加,移除和修改页面的某一部分。可以说,DOM是前端开发中最重要的一个渲染API,它决定了页面的样式结构的走向。
正文
Document类型
在浏览器中,document对象是HTMLDocument(继承自Document类型)的一个实例,表达整个HTML页面。而且,document对象是window对象的一个属性,因此可以将其作为全局对象来访问
文档子节点
document.documentElement: 指向HTML页面中的html元素
document.body: 指向HTML页面中的body元素
HTMLHtmlElement对象和HTMLBodyElement对象继承了HTMLElement接口,HTMLElement可以表示所有的接口
文档信息
HTMLDocument的实例,相比标准的document对象还有一些所没有的属性。这些属性提供了document对象所表现的网页的一些信息。
- title属性:包含着title标签中的文本,用于显示在浏览器窗口的标题栏或标签页上
- URL属性:包含页面完整的URL(即地址栏中显示的URL)
- domain属性:只包含页面的域名
- referrer属性:保存着链接到当前页面的那个页面的URL
URL是当前页面地址;referrer是来源地址,即上一个访问页面的url的地址
这里有个js跨域的问题稍微提一下,JavaScript的脚本必须在同一域名下才可以互相访问,也就是在document.domain相同的时候才可以互相访问,不然就会引起跨域访问失败的问题,所以很容易理解,直接修改document.domain让脚本之间的域名相同来实现通信便是js跨域的一个解决办法。这里我们不细谈这个问题,感兴趣的同学可以关注我后面的文章,会有相关关于跨域更多的介绍
查找元素
因为这个比较常见了,大家应该都不陌生,所以就不多赘述了,下面给出相关方法的用法以及代码示例,大家可以结合代码示例自己体会理解一下
- getElementById():通过元素id来查找对应元素,返回一个htmlElement对象
- getElementsByTagName():通过元素标签名来查找对应元素,返回HTMLCollections对象
- getElementsByName(): 通过元素name特性来查找对应元素,返回HTMLCollections对象
<html>
<body>
<input type=