javascript学习12:Document对象使用

本文介绍了如何通过Document对象深入理解HTML文档,包括获取文档信息、处理怪异模式、利用Location对象、管理cookies、检查文档状态和DOM实现,以及操作HTML元素、DOM树导航和使用DOM API。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们通过全局变量document访问Document对象,它是浏览器为我们创建的关键对象之一。Document对象向你提供文档的整体信息,并让你能够访问模型里的各个对象。要了解DOM,最好的方法是从一个例子开始。

获取正在处理的HTML文档信息:

document.writeln(document.UTL);

文档中选择元素:

var elems = document.getElementsByTagName("p");
1、使用document元数据
1.1 获取文档信息

理解怪异模式
compatMode属性告诉你浏览器是如何处理文档内容的。现如今存在着大量的非标准HTML,浏览器则试图显示出这类网页,哪怕它们并不遵循HTML规范。一些这样的内容依赖于浏览器的独特功能,而这些功能来源于浏览器依靠自身特点(而非遵循标准)进行竞争的年代。

compatMode属性的值:

说明
CSS1Compat此文档遵循某个有效的HTML规范(但不必是HTML5,有效的HTML4文档也会返回这个值)
BackCompat此文档含有非标准的功能,已触发怪异模式
1.2 使用Location对象

document.location属性返回一个Location对象,这个对象给你提供了细粒度的文档地址信息,也允许你导航到其他文档上。

document.location属性最简单的用途是获取当前文档的地址信息

document.writeln(document.location.protocol);

search属性会返回URL的查询字符串部分,hash属性返回的则是URL片段。

assign和replace方法的区别在于,replace会把当前文档从浏览器历史中移除,这就意味着如果用户点击了后退按钮,浏览器就会跳过当前文档,就像它从未访问过该文档一样。

1.3 读取和写入cookie

cookie属性让你可以读取、添加和更新文档所关联的cookie。

document.cookie = ""

可以添加到cookie的额外字段:

说明
path= 设置cookie关联的路径,如果没有指定则默认使用当前文档的路径
domain=设置cookie关联的域名,如果没有指定则默认使用当前文档的域名
max-age=设置cookie的有效期,以秒的形式从它创建之时起开始计算
expires=设置cookie的有效期,用的是GMT格式的日期
secure只有在安全(HTTPS)连接时才会发送cookic
document.cookie="MyCookie=MyValue;max-age=10";
1.4 理解就绪状态

document.readyState属性向你提供了加载和解析HTML文档过程中当前处于哪个阶段的信息。请记住,在默认情况下浏览器会在遇到文档里的script元素时立即开始执行脚本,但你可以使用defer属性推迟脚本的执行。

readyState属性的返回的值:

说明
loading浏览器正在加载和处理此文档
interactive文档已被解析,但浏览器还在加载其中链接的资源(图像和媒体文件等)
complete文档已被解析,所有的资源也已加载完毕
1.5 获取DOM的实现情况

document.implementation属性向你提供了浏览器对DOM功能的实现信息。这个属性返回一个DOMImplementation对象,它包含一个你会感兴趣的方法: hasFeature方法。可以使用这个方法来判断哪些DOM功能已实现。

2、获取HTML元素对象
2.1 使用属性获取元素对象

Document对象为你提供了一组属性,它们会返回代表文档中特定元素或元素类型的对象。

elems.id
2.2 使用数组标记获取已命名元素

还可以使用数组风格的标记来获取代表某个已命名元素( named element)的对象。它指的是带有id或name属性值的元素。

elems["apples"]
2.3 搜索元素

Document对象定义了许多方法,可以用它们搜索文档里的元素。

getElementById(id)等方法

2.4 合并进行链式搜索
document.getElementById("tab").getElementsByTagName("span");
3、DOM树里导航

childNodes,firstChild,hasChildNodes,lastChild,nextSibling,parentNode,previousSbiling方法

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值