Javascript通过Document类型表示文档。在浏览器中,document对象是HTMLdocument(继承自Document类型)的一个实例,表示整个HTML页面。而且,document对象是window对象的一个属性,因此可以将其作为全局对象来访问。
1.文档的子节点
Document有两个内置的访问其子节点的快捷方式,第一个就是DocumentElement属性,该属性始终指向HTML页面中的<html>元素。另一个就是childNodes列表访问文档元素。
<html>
<body>
</body>
</html>
这个页面在经过浏览器解析后,其文档中只包含一个子节点,即<html>元素。可以通过documentElement或childNodes访问这个元素,如下
var html = document.documentElement; //取得对<html>的引用
alert(html == document.childNodes[0]); //true
alert(html == document.firstChild) //true
document对象还有一个body属性,直接指向<body>元素,用法如下
var body = document.body;
所有浏览器都支持document.documentElement和document.body属性
2.文档信息
document对象身上有一些属性提供了表现网页的信息,第一个属性就是,title,显示在浏览器窗口的标题栏或标签页上。
var newTitle = document.title;
document.title = 'new title';
接下来要介绍的三个属性都跟网页的请求有关,它们是URL、domain和referrer(链接到当前页面的那个页面的URL).所有这些信息都存在于请求的HTTP头部。
//取得完整的URL
var url = document.URL
//取得域名
var domain = document.domain;
//取得来源页面的URL
var referrer = document.referrer;
这三个属性当中只有domain是可以设置的,不能将这个属性设置为不包含URL的域,由于跨域安全设置,而通过将每个页面的document.domain设置成相同的值,这些页面就可以互相访问对象的Javascript对象了。
3.查找元素
- getElementById这个就不多说了
- getElementByTagName(),这个方法接收一个参数,返回的是包含零个或多个元素的NodeList。在HTML文档中,这个方法会返回一个HTMMMLCollection对象,与NodeList很相像。
var images = document.getElementByTagName("img");
![](img.jpg)
那么我们就可以如下方式取得<img>这个元素,通过namedItem这个方法:
var myImg = images.namedItem("myImage");
或者是通过方括号的形式,传入字符串的索引值
var myImg = images["myImage"];
getElementsByTagName("*");
包含整个页面的所有元素,第一项是<html>元素
- getElementsByName(表单元素的name值);
一般都是获取单选按钮,也会返回一个HTMLCollection