在DOM中,Document类型表示文档节点,HTMLDocument是Document的子类,document对象是HTMLDocuement的实例,它表示HTML文档。同时,document对象又是window对象的属性,因此可以在全局作用域中直接访问document对象。
访问文档文档节点和子节点
document节点是文档的根节点,window.document属性就指向这个节点。只要浏览器开始载入HTML文档,这个节点对象就存在,可以直接调用。
document节点有不同的办法可以获取。
对于正常的网页,直接使用document或window.document。
对于iframe载入的网页,使用iframe节点的contentDocument属性
对Ajax操作返回的文档,使用XMLHttpRequest对象的responseXML属性
对于包含某个节点的文档,使用该节点在ownerDocument属性
上面这4种document节点,都部署了Document接口,因此有共同的属性和方法。当然,各自也有一些自己独特的属性和方法,如HTML和XML文档的document节点就不一样。
访问文档子节点的方法有如下两种。
1.使用documentElement属性,该属性始终指向HTML页面中的html元素
2.使用childNodes列表访问文档元素
例如下面的代码都可以找到html元素,不过使用documentElement属性更快捷
var html=document.documentElement;
var html=document.childNodes[0];
var html=document.firstChild;
1.document对象有一个body属性,使用它可以访问body元素。例如:
var body=document.body;
所有浏览器都支持document.documentElement和document.body用法
<!DOCTYPE>标签是一个与文档主体不同的实体,可以通过doctype属性访问它。例如:
var doctype=document.doctype;
由于浏览器对document.doctype的支持不一致,因此开发人员很少用
2.访问文档的信息
HTMLDocument的实例对象document包含很多属性,用来访问文档信息,可以自己去查
3.访问文档元素
document对象包含多个访问文档内元素的方法,简单说明如下。
getElementById():返回指定id属性值的元素。注意,id值要区分大小写,如果找到多个id相同的元素,则返回第一个元素,如果没有找到指定的id值的元素,则返回null。
getElementByTagName():返回所有指定标签名称的元素节点
getElementsByName():返回指定名称(name属性值)的元素节点。该方法多用于表单结构中,用于获取单选按钮或复选框组。
注意:getElementsByTagName()方法返回的是一个HTMLCollection对象,与nodeList对象类似,可以使用方括号语法或者item()方法来访问HTMLCollection对象中的元素,并通过length属性取得这个对象重元素的数量
HTMLCollection对象还包括一个nameItem方法,该方法可以通过元素的name特性取得集合中的项目。下面示例可以通过namedItem("news")方法找到HTMLCollection对象中name为news的图片
<img src="1.gif"/>
<img src="2.gif" name="news"/>
<script>
var images=document.getElementsByTagName("img");
var news=images.namesItem("news");
</script>
还可以通过下面的用法获取页面中的所有元素,其中参数"*"表示所有元素
var allElements=document.getElementsByTagName("*");
标签:元素,文档,var,document,节点,属性 来源: https://www.cnblogs.com/yourdid/p/11892711.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。