现在位置： 首页 -> 新闻动态 -> 业界新闻

#### javascript 文档对象 2 (javascript 教程 四)

- 文章来源：微尔IT　作者:光骑士 更新时间：2008-12-29　推荐等级： 热 荐查看次数：
  大 中 小
- 关 键 字：javascript 文档对象 2 (javascript 教程 四)
- 推荐给QQ/MSN好友：
- 页面收藏到：

document 文档对象 描述当前窗口或指定窗口对象的文档。它包含了文档从<head>到</body>的内容。
用法：document （当前窗口）
或 <窗口对象>.document （指定窗口）
属性
cookie 关于 cookie 请参看“使用框架和 Cookies”一章。
lastModified 当前文档的最后修改日期，是一个 Date 对象。
referrer 如果当前文档是通过点击连接打开的，则 referrer 返回原来的 URL。
title 指<head>标记里用<title>...</title>定义的文字。在 Netscape 里本属性不接受赋值。
fgColor 指<body>标记的 text 属性所表示的文本颜色。
bgColor 指<body>标记的 bgcolor 属性所表示的背景颜色。
linkColor 指<body>标记的 link 属性所表示的连接颜色。
alinkColor 指<body>标记的 alink 属性所表示的活动连接颜色。
vlinkColor 指<body>标记的 vlink 属性所表示的已访问连接颜色。
方法
open() 打开文档以便 javascript 能向文档的当前位置（指插入 javascript 的位置）写入数据。通常不需要用这个方法，在需要的时候 javascript 自动调用。
write(); writeln() 向文档写入数据，所写入的会当成标准文档 HTML 来处理。writeln() 与 write() 的不同点在于，writeln() 在写入数据以后会加一个换行。这个换行只是在 HTML 中换行，具体情况能不能够是显示出来的文字换行，要看插入 javascript 的位置而定。如在<pre>标记中插入，这个换行也会体现在文档中。
clear() 清空当前文档。
close() 关闭文档，停止写入数据。如果用了 write[ln]() 或 clear() 方法，就一定要用 close() 方法来保证所做的更改能够显示出来。如果文档还没有完全读取，也就是说，javascript 是插在文档中的，那就不必使用该方法。
现在我们已经拥有足够的知识来做以下这个很多网站都有的弹出式更新通知了。
<script language="javascript">
<!--
var whatsNew = open(’’,’_blank’,’top=50,left=50,width=200,height=300,’ +
’menubar=no,toolbar=no,directories=no,location=no,’ +
’status=no,resizable=no,scrollbars=yes’);
whatsNew.document.write(’<center><b>更新通知</b></center>’);
whatsNew.document.write(’<p>最后更新日期：00.08.01’);
whatsNew.document.write(’<p>00.08.01：增加了“我的最爱”栏目。’);
whatsNew.document.write(’<p align="right">’ +
’<a href="javascript:self.close()">关闭窗口</a>’);
whatsNew.document.close();
-->
</script>
当然也可以先写好一个 HTML 文件，在 open() 方法中直接 load 这个文件。
anchors[]; links[]; Link 连接对象
用法：document.anchors[[x]]; document.links[[x]]; <anchorId>; <linkId>
document.anchors 是一个数组，包含了文档中所有锚标记（包含 name 属性的<a>标记），按照在文档中的次序，从 0 开始给每个锚标记定义了一个下标。
document.links 也是一个数组，包含了文档中所有连接标记（包含 href 属性的<a>标记和<map>标记段里的<area>标记），按照在文档中的次序，从 0 开始给每个连接标记定义了一个下标。
如果一个<a>标记既有 name 属性，又有 href 属性，则它既是一个 Anchor 对象，又是一个 Link 对象。
在 IE 中，如果在<a>标记中添加“id="..."”属性，则这个<a>对象被赋予一个标识（ID），调用这个对象的时候只需要使用“<id>”就行了。很多文档部件都可以用这个方法来赋予 ID，但要注意不能有两个 ID 相同。
anchors 和 links 作为数组，有数组的属性和方法。单个 Anchor 对象没有属性；单个 Link 对象的属性见下。
属性
protocol; hostname; port; host; pathname; hash; search; href 与 location 对象相同。
target 返回/指定连接的目标窗口（字符串），与<a>标记里的 target 属性是一样的。
事件
onclick; onmouseover; onmouseout; onmousedown; onmouseup
applets[] Java小程序对象 它是一个数组，包含了文档中所有的 Applet 对象（Java 小程序）。作为一个数组，有数组的属性和方法。关于单个 Applet 对象的属性和方法，我引用一句话：“Applet 对象继承了 Java 小程序的所有公共属性和方法。”(英文原句：The Applet object inherits all public properties of the Java applet./The Applet object inherits all public methodss of the Java applet.) 因为本人很厌恶 Java 小程序，所以对它的什么“公共”“私有”的问题不感兴趣，也就没有探讨了。
embeds[] 插件对象 它是一个数组，包含了文档中所有的插件（<embed>标记）。因为每个插件的不同，每个 Embed 对象也有不同的属性和方法。
forms[]; Form 表单对象 document.forms[] 是一个数组，包含了文档中所有的表单（<form>）。要引用单个表单，可以用 document.forms[x]，但是一般来说，人们都会这样做：在<form>标记中加上“name="..."”属性，那么直接用“document.<表单名>”就可以引用了。
Form 对象的属性
name 返回表单的名称，也就是<form name="...">属性。
action 返回/设定表单的提交地址，也就是<form action="...">属性。
method 返回/设定表单的提交方法，也就是<form method="...">属性。
target 返回/设定表单提交后返回的窗口，也就是<form target="...">属性。
encoding 返回/设定表单提交内容的编码方式，也就是<form enctype="...">属性。
length 返回该表单所含元素的数目。
方法
reset() 重置表单。这与按下“重置”按钮是一样的。
submit() 提交表单。这与按下“提交”按钮是一样的。
事件
onreset; onsubmit
以下从“Button”到“Textarea”都是表单的元素对象。
Button 按钮对象 由“<input type="button">”指定。引用一个 Button 对象，可以使用“<文档对象>.<表单对象>.<按钮名称>”。<按钮名称>指在<input>标记中的“name="..."”属性的值。引用任意表单元素都可以用这种方法。
属性
name 返回/设定用<input name="...">指定的元素名称。
value 返回/设定用<input value="...">指定的元素的值。
form 返回包含本元素的表单对象。
方法
blur() 从对象中移走焦点。
focus() 让对象获得焦点。
click() 模拟鼠标点击该对象。
事件
onclick; onmousedown; onmouseup
Checkbox 复选框对象 由“<input type="checkbox">”指定。
属性
name 返回/设定用<input name="...">指定的元素名称。
value 返回/设定用<input value="...">指定的元素的值。
form 返回包含本元素的表单对象。
checked 返回/设定该复选框对象是否被选中。这是一个布尔值。
defaultChecked 返回/设定该复选框对象默认是否被选中。这是一个布尔值。
方法
blur() 从对象中移走焦点。
focus() 让对象获得焦点。
click() 模拟鼠标点击该对象。
事件
onclick
elements[]; Element 表单元素对象 <表单对象>.elements 是一个数组，包含了该表单所有的对象。一般我们不用该数组，而直接引用各个具体的对象。
Hidden 隐藏对象 由“<input type="hidden">”指定。
属性
name 返回/设定用<input name="...">指定的元素名称。
value 返回/设定用<input value="...">指定的元素的值。
form 返回包含本元素的表单对象。
Password 密码输入区对象 由“<input type="password">”指定。
属性
name 返回/设定用<input name="...">指定的元素名称。
value 返回/设定密码输入区当前的值。
defaultValue 返回用<input value="...">指定的默认值。
form 返回包含本元素的表单对象。
方法
blur() 从对象中移走焦点。
focus() 让对象获得焦点。
select() 选中密码输入区里全部文本。
事件
onchange
Radio 单选域对象 由“<input type="radio">”指定。一组 Radio 对象有共同的名称（name 属性），这样的话，document.formName.radioName 就成了一个数组。要访问单个 Radio 对象就要用：document.formName.radioName[x]。
单个 Radio 对象的属性
name 返回/设定用<input name="...">指定的元素名称。
value 返回/设定用<input value="...">指定的元素的值。
form 返回包含本元素的表单对象。
checked 返回/设定该单选域对象是否被选中。这是一个布尔值。
defaultChecked 返回/设定该对象默认是否被选中。这是一个布尔值。
方法
blur() 从对象中移走焦点。
focus() 让对象获得焦点。
click() 模拟鼠标点击该对象。
事件
onclick
Reset 重置按钮对象 由“<input type="reset">”指定。因为 Reset 也是按钮，所以也有 Button 对象的属性和方法。至于“onclick”事件，一般用 Form 对象的 onreset 代替。
Select 选择区（下拉菜单、列表）对象 由“<select>”指定。
属性
name 返回/设定用<input name="...">指定的元素名称。
length 返回 Select 对象下选项的数目。
selectedIndex 返回被选中的选项的下标。这个下标就是在 options[] 数组中该选项的位置。如果 Select 对象允许多项选择，则返回第一个被选中的选项的下标。
form 返回包含本元素的表单对象。
方法
blur() 从对象中移走焦点。
focus() 让对象获得焦点。
事件
onchange
options[]; Option 选择项对象 options[] 是一个数组，包含了在同一个 Select 对象下的 Option 对象。Option 对象由“<select>”下的“<options>”指定。
options[] 数组的属性
length; selectedIndex 与所属 Select 对象的同名属性相同。
单个 Option 对象的属性
text 返回/指定 Option 对象所显示的文本
value 返回/指定 Option 对象的值，与<options value="...">一致。
index 返回该 Option 对象的下标。对此并没有什么好说，因为要指定特定的一个 Option 对象，都要先知道该对象的下标。这个属性好像没有什么用。
selected 返回/指定该对象是否被选中。通过指定 true 或者 false，可以动态的改变选中项。
defaultSelected 返回该对象默认是否被选中。true / false。
Submit 提交按钮对象 由“<input type="submit">指定。因为 Submit 也是按钮，所以也有 Button 对象的属性和方法。至于“onclick”事件，一般用 Form 对象的 onsubmit 代替。
Text 文本框对象 由“<input type="text">”指定。Password 对象也是 Text 对象的一种，所以 Password 对象所有的属性、方法和事件，Text 对象都有。
Textarea 多行文本输入区对象 由“<textarea>”指定。Textarea 对象所有的属性、方法和事件和 Text 对象相同，也就是跟 Password 对象一样。
images[]; Image 图片对象 document.images[] 是一个数组，包含了文档中所有的图片（<img>）。要引用单个图片，可以用 document.images[x]。如果某图片包含“name”属性，也就是用“<img name="...">”这种格式定义了一幅图片，就可以使用“document.images[’...’]”这种方法来引用图片。在 IE 中，如果某图片包含 ID 属性，也就是用“<img id="...">”这种格式定义了一幅图片，就可以直接使用“<imageID>”来引用图片。
单个 Image 对象的属性
name; src; lowsrc; width; height; vspace; hspace; border 这些属性跟<img>标记里的同名属性是一样的。在 Netscape 里，除了 src 属性，其它属性（几乎全部）都不能改的，即使改了，在文档中也不能显示出效果来。这些属性最有用的就是 src 了，通过对 src 属性赋值，可以实时的更改图片。
事件
onclick
不显示在文档中的 Image 对象
不显示在文档中的 Image 对象是用 var 语句定义的：
var myImage = new Image(); 或
var myImage = new Image(<图片地址字符串>);
然后就可以像一般 Image 对象一样对待 myImage 变量了。不过既然它不显示在文档中，以下属性：lowsrc, width, height, vspace, hspace, border 就没有什么用途了。一般这种对象只有一个用：预读图片(preload)。因为当对对象的 src 属性赋值的时候，整个文档的读取、javascript 的运行都暂停，让浏览器专心的读取图片。预读图片以后，浏览器的缓存里就有了图片的 Copy，到真正要把图片放到文档中的时候，图片就可以立刻显示了。现在的网页中经常会有一些图像连接，当鼠标指向它的时候，图像换成另外一幅图像，它们都是先预读图像的。
预读图像的 javascript 例子
var imagePreload = new Image();
imagePreload.src = ’001.gif’;
imagePreload.src = ’002.gif’;
imagePreload.src = ’003.gif’;
以上例子适合预读少量图片。
function imagePreload() {
var imgPreload = new Image();
for (i = 0; i < arguments.length; i++) {
imgPreload.src = arguments[i];
}
}
imagePreload(’001.gif’, ’002.gif’, ’003.gif’, ’004.gif’, ’005.gif’);
以上例子适合预读大量图片。

上篇文章: javascript 文档对象 1(javascript 教程 三) 下篇文章：javascript 框架 和 Cookies (javascript 教程 五)

【返回上页】【打印 此页】【查看参与评论】

相关文章： 没有相关文章