Document
-
文档子节点
document.documentElement 始终指向HTML页面中的<html>元素
document.body 始终指向<body>元素
document.title 包含着<title>元素中的文本
-
文档信息
document.URL 取得地址栏中显示的URL
document.domain 只包含页面的域名
document.referrer 保存链接到当前页面的那个页面的URL
URL、domain、referrer三个属性中,只有domain可以设置值。URL与domain是相互关联的。但是由于安全限制,只能设置为URL中包含的域。
【笔试题出现过跨域问题】
来自不同子域的页面无法通过javascript通信,而通过将每个页面的document.domain设置为相同的值,这些页 面就可互相访问对方的javascript对象。
关于跨域问题可查看 http://www.cnblogs.com/2050/p/3191744.html (js中几种实用的跨域方法原理详解)
http://www.cnblogs.com/rainman/archive/2011/02/20/1959325.html (JavaScript跨域总结与解决办法)
除此之外,如果域名一开始是松散的,则不能再设置为紧绷的。例如://假设页面来自于 test.segmentfault.com 域 document.domain = "segmentfault.com"; //loose松散的(成功) document.domain = "test.segmentfault.com"; //tight紧绷的(失败!报错)
-
查找元素
getElementById("id")
其中参数id大小写区分。若有多个元素ID值相同,只返回文档中第一次出现的元素。
【IEbug】:若有哪个表单元素的name值与参数id相同,且该元素位置在id元素之前,则IE会返回表单元素。 【解决方案:不让表单中的name特性与其他元素ID相同】
getElementsByTagName()
返回一个HTMLCollection对象(是一个“动态”集合)
【注意:因为返回的是一个集合,所以是getElementsByTagName】
//获取所有元素 var allElements = document.getElementsByTagName("*"); //获取所有图像元素 var images = document.getElementsByTagName("img"); var src = images[0].src;; // 第一个图像元素的src特性 var src = images.item(0).src; //也是第一个图像元素的src特性 //假设有一个图像元素为 <img src="myimage.jpg" name="myImage"> //可以通过以下两种方式来获取该元素 var myImage = images.namedItem("myImage"); var myImage = images["myImage"];
getElementsByName()
只有HTMLDocument类型才有的方法。返回带有给定name特性的所有元素
-
特殊集合
都是HTMLCollection对象。
document.images 包含所有<img>元素
document.links 包含所有带href特性的a元素
document.anchors 包含所有带name特性的a元素
document.forms 包含所有<form>元素
-
文档写入
write() 原样写入到输出流
writeln() 与write()相同,多了一个换行符
//可以动态包含外部资源。但需要注意转义字符使用,以免字符串解释错误。
//如果在文档加载结束后再调用document.write(),输出的内容将会重写整个页面。
<script> document.write("<script type=\"text/javascript\" src=\"test.js\">"+ "<\/script>"); </script>
open() 打开网页输出流
close() 关闭网页输出流
若是在页面加载期间使用write或writeln方法,则无需用到open和close方法
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。