祝大家新年快乐!新年新气象!

文档对象

上一篇 / 下一篇  2007-04-25 00:52:10 / 个人分类:js

文档对象

&m*~.ePi?J0现在我们将开始讨论更“实际”的话题——文档对象(DOM)。文档对象是指在网页文档里划分出来的对象。在 Javascrīpt 能够涉及的范围内有如下几个“大”对象:window, document, location, navigator, screen, history 等。下面是一个文档对象树,你可以看到对象下包含对象的“壮观”情景。要引用某个对象,就要把父级的对象都列出来。例如,要引用某表单 “applicationForm”的某文字框“customerName”,就要用 “document.applicationForm.customerName”。

,t3uK"Xu%mQ W*m0PHPChina 开源社区门户T,ec*A/R+p2\a l

下表中有些对象是全小写的,有些是以大写字母开头的。以大写字母开头的对象表示,引用该对象不使用下表列出的名字,而直接用对象的“名字”(Id 或 Name,下面有讲解),或用它所属的对象数组指定。

-@ga.IC0PHPChina 开源社区门户,q"t K|r6j{

这里我们不准备讲解对象的“事件”,虽然我们也会列出对象所能响应的事件。我们将会在下一章“事件处理”中讲解事件。PHPChina 开源社区门户 XGa*WS/GI o

浏览器对象PHPChina 开源社区门户(b*C0I4L*E
屏幕对象
2O:_!}h1us8Jr T0窗口对象PHPChina 开源社区门户:F)p'y"imlP
 历史对象PHPChina 开源社区门户#Y:F3t"s&d
 地址对象PHPChina 开源社区门户j y.M@l y
 框架对象
s;Yqi x xSX0 文档对象
n3x e h3]6p2c,Jl$S0  连接对象PHPChina 开源社区门户(J3bwe$VYbN
  Java小程序对象
-FU%S ].r2T}0  插件对象
gT}5l T z0]b0  表单对象
{R#H(tVe)]0   按钮对象PHPChina 开源社区门户2\,lYu+TuN
   复选框对象
$@z8lyRz'[*M;J8}0   表单元素对象
6Hdau4zU0   隐藏对象PHPChina 开源社区门户 \h3f+p5E2R
   密码输入区对象
%G#I| co7}g0   单选域对象
^rgC'p0   重置按钮对象PHPChina 开源社区门户uHN"z4n7~nw9m@
   选择区(下拉菜单、列表)对象
E }3A R:fB0    选择项对象
n w,p:t#g U#J~0   提交按钮对象
8L:gS8]I kG0a&S0   文本框对象PHPChina 开源社区门户,a9q2N1k~uW3Pu!~
   多行文本输入区对象
,g8s_n;[9~H0  图片对象
PHPChina 开源社区门户M+WK3~x7h

navigator 浏览器对象反映了当前使用的浏览器的资料。

G$NlR1E]A2Z0

-bM M#`M{0属性PHPChina 开源社区门户 HiSI0Vu*l

?qCH(a)m.|m*g0appCodeName返回浏览器的“码名”(?),流行的 IE 和 NN 都返回 'Mozilla'。
&{;^"L3a.H*w+a5Aa0appName
返回浏览器名。IE 返回 'Microsoft Internet Explorer',NN 返回 'Netscape'。PHPChina 开源社区门户 k9n0R9^ LoD(X
appVersion
返回浏览器版本,包括了大版本号、小版本号、语言、操作平台等信息。PHPChina 开源社区门户I?p9S,hn f
platform
返回浏览器的操作平台,对于 Windows 9x 上的浏览器,返回 'Win32'(大小写可能有差异)。PHPChina 开源社区门户SN]&UiE&vu1S\
userAgent
返回以上全部信息。例如,IE5.01 返回 'Mozilla/4.0 (compatible; MSIE 5.01; Windows 98)'。
x I"e1w0e D`C5F0javaEnabled()返回一个布尔值,代表当前浏览器允许不允许 Java。PHPChina 开源社区门户4Xs M!bXNn

3j E rwq"fq|sG0screen 屏幕对象反映了当前用户的屏幕设置。

Gv$~.A&A{ et0

lKL*q@!t0属性

yt9?5t0_u&O0PHPChina 开源社区门户WD#db)fc1O&~TmQ

width返回屏幕的宽度(像素数)。
&nM1a}O7{9^M0height
返回屏幕的高度。
])|8I,D6k`m}7e0availWidth返回屏幕的可用宽度(除去了一些不自动隐藏的类似任务栏的东西所占用的宽度)。PHPChina 开源社区门户D f$n7S b@
availHeight返回屏幕的可用高度。
8Nq Mz"f&^0colorDepth返回当前颜色设置所用的位数 - 1:黑白;8:256色;16:增强色;24/32:真彩色

lH}8|#N+N3jO#x G0
PHPChina 开源社区门户^k6r.G1IO

window 窗口对象最大的对象,它描述的是一个浏览器窗口。一般要引用它的属性和方法时,不需要用“window.xxx”这种形式,而直接使用“xxx”。一个框架页面也是一个窗口。PHPChina 开源社区门户d a1r I{ |5r|

PHPChina 开源社区门户o,k+aaF ?Z

属性

ox-IE:m0PHPChina 开源社区门户4GtU/PI0N

name窗口的名称,由打开它的连接(<a target="...">)或框架页(<frame name="...">)或某一个窗口调用的 open() 方法(见下)决定。一般我们不会用这个属性。PHPChina 开源社区门户3jl^1p'mo L#g9c
status指窗口下方的“状态栏”所显示的内容。通过对 status 赋值,可以改变状态栏的显示。
5@~(r i4_`|z0opener用法:window.opener;返回打开本窗口的窗口对象。注意:返回的是一个窗口对象。如果窗口不是由其他窗口打开的,在 Netscape 中这个属性返回 null;在 IE 中返回“未定义”(undefined)。undefined 在一定程度上等于 null。注意:undefined 不是 Javascrīpt 常数,如果你企图使用“undefined”,那就真的返回“未定义”了。PHPChina 开源社区门户'A R;QM!iOi
self指窗口本身,它返回的对象跟 window 对象是一模一样的。最常用的是“self.close()”,放在<a>标记中:“<a href="javascrīpt:self.close()">关闭窗口</a>”。
s&Z#~'FO^0parent返回窗口所属的框架页对象。
,XD-eP`!A0top返回占据整个浏览器窗口的最顶端的框架页对象。PHPChina 开源社区门户3B(vt;` q8S k
history历史对象,见下PHPChina 开源社区门户*[a&dk4U? v7I
location地址对象,见下PHPChina 开源社区门户|kX dk)K
document文档对象,见下PHPChina 开源社区门户 `*d"Z8h ~~2g

PHPChina 开源社区门户,{RsG `\-i!b XP6h3Y

方法

Q8e8B} W(Y*g0

*}Z}9[I;B"u(I0open()打开一个窗口。用法:open(<URL字符串>, <窗口名称字符串>, <参数字符串>);PHPChina 开源社区门户y.Mj,j yx5F w
  <URL字符串>:描述所打开的窗口打开哪一个网页。如果留空(''),则不打开任意网页。
JS!y&b_hO0  <窗口名称字符串>:描述被打开的窗口的名称(window.name),可以使用'_top'、'_blank'等内建名称。这里的名称跟“<a href="..." target="...">”里的“target”属性是一样的。
Tv$T;X]6Ys+{ j0  <参数字符串>:描述被打开的窗口的样貌。如果只需要打开一个普通窗口,该字符串留空(''),如果要指定样貌,就在字符串里写上一到多个参数,参数之间用逗号隔开。

-pXAH/n!kj0U.^0PHPChina 开源社区门户-? fWg5?N*e+B+Me

例:打开一个 400 x 100 的干净的窗口:PHPChina 开源社区门户l.nf|Kf{
open('','_blank','width=400,height=100,menubar=no,toolbar=no,PHPChina 开源社区门户hAnI)E'c_"Xj
location=no,directories=no,status=no,scrollbars=yes,resizable=yes')PHPChina 开源社区门户0D0eN2{0x Z#p

PHPChina 开源社区门户5v.lS[wX"O T9~7\dp

参数

,aa4O*@/p)zBr0
PHPChina 开源社区门户uPv~g$be6`Dx
top=#窗口顶部离开屏幕顶部的像素数
left=#窗口左端离开屏幕左端的像素数
width=#窗口的宽度
height=#窗口的高度
menubar=...窗口有没有菜单,取值yes或no
toolbar=...窗口有没有工具条,取值yes或no
location=...窗口有没有地址栏,取值yes或no
directories=...窗口有没有连接区,取值yes或no
scrollbars=...窗口有没有滚动条,取值yes或no
status=...窗口有没有状态栏,取值yes或no
resizable=...窗口给不给调整大小,取值yes或no

;| c'dv+@a O}t0open() 方法有返回值,返回的就是它打开的窗口对象。所以,

{ qh*~|S Z a0PHPChina 开源社区门户Z`B O]a1K7P)e

var newWindow = open('','_blank');PHPChina 开源社区门户-s5r1[+f)JCG

PHPChina 开源社区门户@(J8t)I1S-h*X"w

这样把一个新窗口赋值到“newWindow”变量中,以后通过“newWindow”变量就可以控制窗口了。

v3Q.x+GS&t0PHPChina 开源社区门户`0IA`9Mh#x/udP

close() 关闭一个已打开的窗口。
M7u3Sr"A ? F0用法:window.close() 或 self.close():关闭本窗口;
4_jX8hSk$h8h3q)Z!Yp0   <窗口对象>.close():关闭指定的窗口。PHPChina 开源社区门户Q;?`;tMX e/vK
  如果该窗口有状态栏,调用该方法后浏览器会警告:“网页正在试图关闭窗口,是否关闭?”然后等待用户选择是否;如果没有状态栏,调用该方法将直接关闭窗口。
KG'n1V4]v0blur()
 使焦点从窗口移走,窗口变为“非活动窗口”。PHPChina 开源社区门户,Cf6oS*Q5T6q
focus()
 是窗口获得焦点,变为“活动窗口”。不过在 Windows 98,该方法只能使窗口的标题栏和任务栏上的相应按钮闪烁,提示用户该窗口正在试图获得焦点。
0LFnT\&|0scrollTo()
 用法:[<窗口对象>.]scrollTo(x, y);使窗口滚动,使文档从左上角数起的(x, y)点滚动到窗口的左上角。
eeTuNX/\0SD)n8Y0scrollBy()
 用法:[<窗口对象>.]scrollBy(deltaX, deltaY);使窗口向右滚动 deltaX 像素,向下滚动 deltaY 像素。如果取负值,则向相反的方向滚动。
{B M5~hh [8FS0resizeTo()
 用法:[<窗口对象>.]resizeTo(width, height);使窗口调整大小到宽 width 像素,高 height 像素。
0n\|"rZ}z)E0resizeBy()
 用法:[<窗口对象>.]resizeBy(deltaWidth, deltaHeight);使窗口调整大小,宽增大 deltaWidth 像素,高增大 deltaHeight 像素。如果取负值,则减少。PHPChina 开源社区门户 MB,| xc)i
alert()用法:alert(<字符串>);弹出一个只包含“确定”按钮的对话框,显示<字符串>的内容,整个文档的读取、scrīpt 的运行都会暂停,直到用户按下“确定”。
9bNiKd*V0confirm()用法:confirm(<字符串>);弹出一个包含“确定”和“取消”按钮的对话框,显示<字符串>的内容,要求用户做出选择,整个文档的读取、scrīpt 的运行都会暂停。如果用户按下“确定”,则返回 true 值,如果按下“取消”,则返回 false 值。PHPChina 开源社区门户G:~6V3I-G/F_
prompt()用法:prompt(<字符串>[, <初始值>]);弹出一个包含“确认”“取消”和一个文本框的对话框,显示<字符串>的内容,要求用户在文本框输入一些数据,整个文档的读取、scrīpt 的运行都会暂停。如果用户按下“确认”,则返回文本框里已有的内容,如果用户按下“取消”,则返回 null 值。如果指定<初始值>,则文本框里会有默认值。

1n5\7Q0u6U!XK ~0PHPChina 开源社区门户C![h'Vp j9[D){lf S

事件

};S:Jb"P'W+g_0

vRm!Kz5V7d0onload;onunload;onresize;onblur;onfocus;onerror

V$\7b`;t&R6[0

*@a3u5x,Hi0history 历史对象历史对象指浏览器的浏览历史。鉴于安全性的需要,该对象收到很多限制,现在只剩下下列属性和方法。PHPChina 开源社区门户0UA0kV+T UJ [ `

PHPChina 开源社区门户Uau)VO

属性

/OK@H:i5bc*AL-\0

NpggR7OSZE0length历史的项数。Javascrīpt 所能管到的历史被限制在用浏览器的“前进”“后退”键可以去到的范围。本属性返回的是“前进”和“后退”两个按键之下包含的地址数的和。PHPChina 开源社区门户G[h,pC

PHPChina 开源社区门户l r Y\.T{6uyr-{

方法

}&Av{#w!J])u?j0

u-w/t$?9EcJ'u0back()后退,跟按下“后退”键是等效的。
nH%e9Xw*U.jv:o0forward()
前进,跟按下“前进”键是等效的。PHPChina 开源社区门户3j EbRmkb]l
go()用法:history.go(x);在历史的范围内去到指定的一个地址。如果 x < 0,则后退 x 个地址,如果 x > 0,则前进 x 个地址,如果 x == 0,则刷新现在打开的网页。history.go(0) 跟 location.reload() 是等效的。PHPChina 开源社区门户Rh}b;WE3\

P8i/Q.}_/R1nXrx0location 地址对象它描述的是某一个窗口对象所打开的地址。要表示当前窗口的地址,只需要使用“location”就行了;若要表示某一个窗口的地址,就使用“<窗口对象>.location”。

(hQ#t|yo0

z$D2l"Rm^T@;Z8`9G0注意属于不同协议或不同主机的两个地址之间不能互相引用对方的 location 对象,这是出于安全性的需要。例如,当前窗口打开的是“www.a.com”下面的某一页,另外一个窗口(对象名为:bWindow)打开的是 “www.b.com”的网页。如果在当前窗口使用“bWindow.location”,就会出错:“没有权限”。这个错误是不能用错误处理程序 (Event Handler,参阅 onerror 事件)来接收处理的。PHPChina 开源社区门户e9gJ s!I)lZ?q)C

PHPChina 开源社区门户,Qu%hPhx-M{"e+aHA

属性

P%dni|8Vl2J0

'[c0R7C%A6T-T8K0protocol返回地址的协议,取值为 'http:','https:','file:' 等等。PHPChina 开源社区门户]0T h q q
hostname
返回地址的主机名,例如,一个“http://www.microsoft.com/china/”的地址,location.hostname == 'www.microsoft.com'。
9e)W)`)R2mx5C0port
返回地址的端口号,一般 http 的端口号是 '80'。
v TR/q~(Bu.kq0host
返回主机名和端口号,如:'www.a.com:8080'。
o&xRKWaTEb0pathname
返回路径名,如“http://www.a.com/b/c.html”,location.pathname == 'b/c.html'。
:B&z6BpS-B Q~M0hash
返回“#”以及以后的内容,如“http://www.a.com/b/c.html#chapter4”,location.hash == '#chapter4';如果地址里没有“#”,则返回空字符串。
o],t?+^6d4h!hB`0search
返回“?”以及以后的内容,如“http://www.a.com/b/c.asp?selection=3&jumpto=4”,location.search == '?selection=3&jumpto=4';如果地址里没有“?”,则返回空字符串。PHPChina 开源社区门户{?%Uc_^&F
href
返回以上全部内容,也就是说,返回整个地址。在浏览器的地址栏上怎么显示它就怎么返回。如果想一个窗口对象打开某地址,可以使用“location.href = '...'”,也可以直接用“location = '...'”来达到此目的。PHPChina 开源社区门户/A| UW6|2i4mp

PHPChina 开源社区门户4h fpe%T1I nQ

方法

z`,IdC\5iq0

4BPA&e!v0reload()相当于按浏览器上的“刷新”(IE)或“Reload”(Netscape)键。PHPChina 开源社区门户2PJ]D@@6]1E
replace()
打开一个 URL,并取代历史对象中当前位置的地址。用这个方法打开一个 URL 后,按下浏览器的“后退”键将不能返回到刚才的页面。PHPChina 开源社区门户wP4E'Dig$W0cN;k

^#_7lX+T"d9A1?'L }0frames[]; Frame 框架对象请参阅“使用框架和 Cookies”一章。PHPChina 开源社区门户R9Ux |:J;lrb

J(n4|8haI0B,fD0document 文档对象描述当前窗口或指定窗口对象的文档。它包含了文档从<head>到</body>的内容。PHPChina 开源社区门户 UDW"`*rH)f_6z"S
  用法:document (当前窗口)
NNp K A)KW7]u:uf0   或 <窗口对象>.document (指定窗口)

u~ly&UR9}0

RBS&PW0属性PHPChina 开源社区门户 bd y&E2]lw'l

O f/SsL[%Zs0cookie关于 cookie 请参看“使用框架和 Cookies”一章。
u~Ai^(~/O0lastModified
当前文档的最后修改日期,是一个 Date 对象。PHPChina 开源社区门户]4J*|*^$K;g
referrer
如果当前文档是通过点击连接打开的,则 referrer 返回原来的 URL。PHPChina 开源社区门户\7T(i5w!n'~V5c
title
指<head>标记里用<title>...</title>定义的文字。在 Netscape 里本属性不接受赋值。PHPChina 开源社区门户,e\2K.Q\
fgColor指<body>标记的 text 属性所表示的文本颜色。
y*K8K#Z#`8@N u[,h0bgColor指<body>标记的 bgcolor 属性所表示的背景颜色。
2Iq7l*c gQ9tO0linkColor
指<body>标记的 link 属性所表示的连接颜色。
&q2LH7R"Ni0alinkColor
指<body>标记的 alink 属性所表示的活动连接颜色。
~T1{Z1Q0vlinkColor
指<body>标记的 vlink 属性所表示的已访问连接颜色。

zqn'O nX0

Nc6Fjp |d~h R0方法

`l3CL4J8A?,[J'M0PHPChina 开源社区门户/e+a5])[^6_v

open()打开文档以便 Javascrīpt 能向文档的当前位置(指插入 Javascrīpt 的位置)写入数据。通常不需要用这个方法,在需要的时候 Javascrīpt 自动调用。PHPChina 开源社区门户){0bm W uAm
write(); writeln()
向文档写入数据,所写入的会当成标准文档 HTML 来处理。writeln() 与 write() 的不同点在于,writeln() 在写入数据以后会加一个换行。这个换行只是在 HTML 中换行,具体情况能不能够是显示出来的文字换行,要看插入 Javascrīpt 的位置而定。如在<pre>标记中插入,这个换行也会体现在文档中。PHPChina 开源社区门户%BKB;H Qe,R.S4~*vV
clear()清空当前文档。PHPChina 开源社区门户It as.P]%m N~$j
close()关闭文档,停止写入数据。如果用了 write[ln]() 或 clear() 方法,就一定要用 close() 方法来保证所做的更改能够显示出来。如果文档还没有完全读取,也就是说,Javascrīpt 是插在文档中的,那就不必使用该方法。PHPChina 开源社区门户'wo5|s3F+DJ)B

PHPChina 开源社区门户,Nza(He4[ G$\3S

现在我们已经拥有足够的知识来做以下这个很多网站都有的弹出式更新通知了。

bE&N6j"P)F$N&@f-u0

Y-r0N'x;ky A0<scrīpt language="Javascrīpt">
J IK"D@td0<!--PHPChina 开源社区门户 y/kbOX
var whatsNew = open('','_blank','top=50,left=50,width=200,height=300,' +
4j'd k`'}b1a9w0                'menubar=no,toolbar=no,directories=no,location=no,' +PHPChina 开源社区门户,nW3k H'E[
                'status=no,resizable=no,scrollbars=yes');PHPChina 开源社区门户%q*iODUk*c/b
whatsNew.document.write('<center><b>更新通知</b></center>');PHPChina 开源社区门户:g,Py[b8{'RV1M0j
whatsNew.document.write('<p>最后更新日期:00.08.01');PHPChina 开源社区门户*F@:X#_v|J}
whatsNew.document.write('<p>00.08.01:增加了“我的最爱”栏目。');
s.y!Iuxi0whatsNew.document.write('<p align="right">' +PHPChina 开源社区门户8A p'@0V8Yz.`9IK
                '<a href="javascrīpt:self.close()">关闭窗口</a>');PHPChina 开源社区门户(j$P]xI.t-a
whatsNew.document.close();PHPChina 开源社区门户c"e(ZPg z
-->PHPChina 开源社区门户#r2\q1V].OK$S
</scrīpt>

+B.h)HH*@? t&Hl:I!p0PHPChina 开源社区门户|`$M(D F,|!Go

当然也可以先写好一个 HTML 文件,在 open() 方法中直接 load 这个文件。

9~s [!tQP#B0
PHPChina 开源社区门户i)D"s J6x'vu `&U

anchors[]; links[]; Link 连接对象

xB$A0UC,P"kuR0PHPChina 开源社区门户"n_2Dri&oJHV

用法:document.anchors[[x]]; document.links[[x]]; <anchorId>; <linkId>
"lh w B[LD0  document.anchors 是一个数组,包含了文档中所有锚标记(包含 name 属性的<a>标记),按照在文档中的次序,从 0 开始给每个锚标记定义了一个下标。
;[Z#x1P3pRN] G0  document.links 也是一个数组,包含了文档中所有连接标记(包含 href 属性的<a>标记和<map>标记段里的<area>标记),按照在文档中的次序,从 0 开始给每个连接标记定义了一个下标。PHPChina 开源社区门户"H_,}3j)W[SX
  如果一个<a>标记既有 name 属性,又有 href 属性,则它既是一个 Anchor 对象,又是一个 Link 对象。
(|%|#Z-C4H0Jvp v*V0  在 IE 中,如果在<a>标记中添加“id="..."”属性,则这个<a>对象被赋予一个标识(ID),调用这个对象的时候只需要使用“<id>”就行了。很多文档部件都可以用这个方法来赋予 ID,但要注意不能有两个 ID 相同。

Y#Jnnx2cY0

A;ED Q*mc0anchors 和 links 作为数组,有数组的属性和方法。单个 Anchor 对象没有属性;单个 Link 对象的属性见下。PHPChina 开源社区门户9|0b1a*Rh3yr x

PHPChina 开源社区门户vP*bzM.o\ Z-M6pi

属性

S VE6o7@E!JQ ~0PHPChina 开源社区门户 b1ZEHCi_0l

protocol; hostname; port; host; pathname; hash; search; href与 location 对象相同。PHPChina 开源社区门户*K_@v"qV,zN
target
返回/指定连接的目标窗口(字符串),与<a>标记里的 target 属性是一样的。PHPChina 开源社区门户Z:Ooz/MIU7k

PHPChina 开源社区门户2B;N)| a3Y

事件

'bt0rRjU#b y#a D3v0

Z}#cO i`O/d0onclick;onmouseover;onmouseout;onmousedown;onmouseup

;R5]Ahk;{0
PHPChina 开源社区门户-\'O8Y.?z6}v*dC{

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 小程序,所以对它的什么“公共”“私有”的问题不感兴趣,也就没有探讨了。

g[2b|/]/ZA)u!g0

9o9s_Dx0embeds[] 插件对象它是一个数组,包含了文档中所有的插件(<embed>标记)。因为每个插件的不同,每个 Embed 对象也有不同的属性和方法。

+V E:`5`c.D0s0PHPChina 开源社区门户:M5L(b kd

forms[]; Form 表单对象document.forms[] 是一个数组,包含了文档中所有的表单(<form>)。要引用单个表单,可以用 document.forms[x],但是一般来说,人们都会这样做:在<form>标记中加上“name="..."”属性,那么直接用“document.<表单名>”就可以引用了。PHPChina 开源社区门户 R%b(]A-Ez [ \a

PHPChina 开源社区门户b^ H[I)m

Form 对象的属性

*X"aGE3Ix%]0PHPChina 开源社区门户 A0| RB2_8i6D8qK

name返回表单的名称,也就是<form name="...">属性。PHPChina 开源社区门户T;LBTx%u1`
action
返回/设定表单的提交地址,也就是<form action="...">属性。PHPChina 开源社区门户/FdJl(U|.G
method返回/设定表单的提交方法,也就是<form method="...">属性。
D3~*K sZG3d~ ]0target返回/设定表单提交后返回的窗口,也就是<form target="...">属性。PHPChina 开源社区门户k,z3U va?%ff wd^
encoding返回/设定表单提交内容的编码方式,也就是<form enctype="...">属性。PHPChina 开源社区门户%c ])G*lC&M
length返回该表单所含元素的数目。PHPChina 开源社区门户,\ z J)Y.{3xx

/W}dFXP+e0方法

&]R+f\DG$L0

7|5B#O)lz(?d){i3f0reset()重置表单。这与按下“重置”按钮是一样的。
u9P1_3LW/d0submit()提交表单。这与按下“提交”按钮是一样的。

ane9Gc'lN2b6q s g0

~[SNa)X5P0事件

Mzt-Y ? IE0PHPChina 开源社区门户2@4asg"Ek/B.LW^ta

onreset;onsubmitPHPChina 开源社区门户^n/_ x,C(|tK

I8q]'k bT"X0以下从“Button”到“Textarea”都是表单的元素对象。PHPChina 开源社区门户6G a6g/H2N w%}

PHPChina 开源社区门户e A:]$n2K

Button 按钮对象由“<input type="button">”指定。引用一个 Button 对象,可以使用“<文档对象>.<表单对象>.<按钮名称>”。<按钮名称>指在<input>标记中的“name="..."”属性的值。引用任意表单元素都可以用这种方法。PHPChina 开源社区门户 lDejh,C

PHPChina 开源社区门户6V AM sM5G,k

属性

.vJA+H9dfZ0

scmc?q0name返回/设定用<input name="...">指定的元素名称。
*_\-l6\NSI/VS0value
返回/设定用<input value="...">指定的元素的值。PHPChina 开源社区门户(D1`:w__ Us$G:m5m { d+}
form返回包含本元素的表单对象。PHPChina 开源社区门户R+`D@K3y1g

#_"X/R!a\C0方法PHPChina 开源社区门户_0A e#e+s

!Wf*tBPH%B*l2N0blur()从对象中移走焦点。
h-d n,r h v0focus()让对象获得焦点。PHPChina 开源社区门户7{f7P&|_ m@{[
click()模拟鼠标点击该对象。

YV`v a2K mA0

6c5r,N h5cP0事件PHPChina 开源社区门户 t(RH1Re ])J(l$K

PHPChina 开源社区门户'a-uH3{)TI$e4XB

onclick;onmousedown;onmouseupPHPChina 开源社区门户7vt&u.`OB

PHPChina 开源社区门户&~Nmg;L~B

Checkbox 复选框对象由“<input type="checkbox">”指定。PHPChina 开源社区门户m { M:x3U XC6a.q

(ATK(G nP0属性

ER1T [6b8t X5P0

7P]6Kk,[~5{0name返回/设定用<input name="...">指定的元素名称。
}0Wx4b3PT0Zw0value
返回/设定用<input value="...">指定的元素的值。PHPChina 开源社区门户f[d t5}#R%rM?
form返回包含本元素的表单对象。
+])`1o"c{i0checked返回/设定该复选框对象是否被选中。这是一个布尔值。
'ZD0gK7V yE7TT{(c0defaultChecked返回/设定该复选框对象默认是否被选中。这是一个布尔值。PHPChina 开源社区门户-? my @;AR H%J1T

PHPChina 开源社区门户c*f1X"ja w5g

方法

#|y Y.H1rw;x;Q+p0PHPChina 开源社区门户`/JM-\6|

blur()从对象中移走焦点。PHPChina 开源社区门户Ju|hD#W#g!ww
focus()
让对象获得焦点。
L[|}{ Q"]i0click()模拟鼠标点击该对象。

,H'iY)h,G3H0PHPChina 开源社区门户T"Q |1m ["j:j5n.T!}C

事件

:jrW|k*R|w/_0r0PHPChina 开源社区门户;x$|D3E_K

onclickPHPChina 开源社区门户c9~6LM-y

[ {r!DQ0elements[]; Element 表单元素对象<表单对象>.elements 是一个数组,包含了该表单所有的对象。一般我们不用该数组,而直接引用各个具体的对象。

"@sF+c:G/^ {0PHPChina 开源社区门户8`F;? h1b R:YP

Hidden 隐藏对象由“<input type="hidden">”指定。PHPChina 开源社区门户 ^%j;h/eZ x.b!] C2k8I

!Hw-~#k4~2R2QPg0属性PHPChina 开源社区门户1`7QK]P)v` U.i

0g-e[-}Xu:T0name返回/设定用<input name="...">指定的元素名称。
@m3D+]Nw @xU0value
返回/设定用<input value="...">指定的元素的值。PHPChina 开源社区门户?yS(KM!w;M+g`z
form
返回包含本元素的表单对象。

U2z/A j&X;e(V-H KN0
PHPChina 开源社区门户/|di)Y9UE{8w|

Password 密码输入区对象由“<input type="password">”指定。PHPChina 开源社区门户Gqdec#dItM!G:n9s(Y

3Bmnk6?,e.vf0属性

}/b+y-h8x*HG,w0PHPChina 开源社区门户:MEc$^)u$t#W(r

name返回/设定用<input name="...">指定的元素名称。PHPChina 开源社区门户/u;^8@U{D
value
返回/设定密码输入区当前的值。
c:z!`CAOLC*@ g k0defaultValue
返回用<input value="...">指定的默认值。
'}oq"\Z9w7s0form
返回包含本元素的表单对象。

2T8e|^x8Tma+Aa0

z/p!I7R-O0SRv1A0方法

0nMXm2c0PHPChina 开源社区门户:s$F)O6zmE%D a%o

blur()从对象中移走焦点。PHPChina 开源社区门户5q ltt ~
focus()
让对象获得焦点。PHPChina 开源社区门户-PV[._/x|
select()选中密码输入区里全部文本。PHPChina 开源社区门户5\.gaXiM0H t

PHPChina 开源社区门户k~E/X9p"n"O ha

事件PHPChina 开源社区门户:vv0HLy

y^QY~%gp)n0onchange

5amDOq-t;FJ0
PHPChina 开源社区门户t/`^&dR

Radio 单选域对象由“<input type="radio">”指定。一组 Radio 对象有共同的名称(name 属性),这样的话,document.formName.radioName 就成了一个数组。要访问单个 Radio 对象就要用:document.formName.radioName[x]。PHPChina 开源社区门户GIe+M AF(M-W

/A T%lw3F f eH@\0单个 Radio 对象的属性PHPChina 开源社区门户H[C ZwR]

PHPChina 开源社区门户7erY3f_ } fg

name返回/设定用<input name="...">指定的元素名称。
M/f6j%jp${0value
返回/设定用<input value="...">指定的元素的值。PHPChina 开源社区门户I[A'w:~$~(I]
form
返回包含本元素的表单对象。
b%r3k"Vb#s0i0checked
返回/设定该单选域对象是否被选中。这是一个布尔值。PHPChina 开源社区门户 I#yz~)Wl|'J.n
defaultChecked
返回/设定该对象默认是否被选中。这是一个布尔值。

.S$Zv9U,w?1NX r0

*X1OW8B2j]o0方法

$L:K7t8XP nt4F0PHPChina 开源社区门户)z?8l*|B'? i3uS8O

blur()从对象中移走焦点。PHPChina 开源社区门户MG^ncN"k
focus()
让对象获得焦点。
:A)O'yJ-~-uq W9C0click()
模拟鼠标点击该对象。PHPChina 开源社区门户I"J Hk4EdH

nX%z G,A0事件

;sb Vdr5v"FC;UEC0PHPChina 开源社区门户y3T.s*tq8FMii

onclickPHPChina 开源社区门户!W.c-c+Lp}a ?$c T

RV:{2l|fkl0Reset 重置按钮对象由“<input type="reset">”指定。因为 Reset 也是按钮,所以也有Button 对象的属性和方法。至于“onclick”事件,一般用Form对象的onreset代替。PHPChina 开源社区门户U]:H!~D HU0`]/T

PHPChina 开源社区门户){.~(`_Js@

Select 选择区(下拉菜单、列表)对象由“<select>”指定。PHPChina 开源社区门户(\)l3Ka vZ6X0jw

PHPChina 开源社区门户2`'vC{Q1WGmI

属性

U"t Te|~1cP0

7x5b0YzM/g0name返回/设定用<input name="...">指定的元素名称。PHPChina 开源社区门户r TZ [P K"S l:Sn
length
返回 Select 对象下选项的数目。PHPChina 开源社区门户 id `r}%u#Gh
selectedIndex
返回被选中的选项的下标。这个下标就是在 options[] 数组中该选项的位置。如果 Select 对象允许多项选择,则返回第一个被选中的选项的下标。PHPChina 开源社区门户*h?!?+Rvto,X
form
返回包含本元素的表单对象。PHPChina 开源社区门户0}k+_9} F0|

&S5pK/L+F7m|O0方法

9n8S"m0n%fI j7a/}0PHPChina 开源社区门户4X%p8hN9uc3F

blur()从对象中移走焦点。
&S [/\.^+Oo0focus()
让对象获得焦点。PHPChina 开源社区门户-b N zG|F

PHPChina 开源社区门户eul2_BIB-] `)PTR

事件PHPChina 开源社区门户Yw2pV&|&q/nOy

PHPChina 开源社区门户 v ZwK5Rc"@

onchange

P)P~grAZ0

^TLQ+V2Kk7R0options[]; Option 选择项对象options[] 是一个数组,包含了在同一个 Select 对象下的 Option 对象。Option 对象由“<select>”下的“<options>”指定。

/D~3T(fg1svRr\0
PHPChina 开源社区门户 z)gF)Cp;`\"y~t.A

options[] 数组的属性PHPChina 开源社区门户`}\{8b#r

C9Do+~!gCH&k7e0length; selectedIndex与所属 Select 对象的同名属性相同。PHPChina 开源社区门户'e `uh\([

tE'`:jv\4zr0单个 Option 对象的属性

p Z4^,gI2g'@!]0PHPChina 开源社区门户[|4^%z7MKg*y3`

text返回/指定 Option 对象所显示的文本PHPChina 开源社区门户/F/e9@)l7O
value
返回/指定 Option 对象的值,与<options value="...">一致。PHPChina 开源社区门户3R/{3H*u%Z?6f
index
返回该 Option 对象的下标。对此并没有什么好说,因为要指定特定的一个 Option 对象,都要先知道该对象的下标。这个属性好像没有什么用。PHPChina 开源社区门户%q gq&M;xu
selected
返回/指定该对象是否被选中。通过指定 true 或者 false,可以动态的改变选中项。
8i4I3FaG0defaultSelected返回该对象默认是否被选中。true / false。PHPChina 开源社区门户.AF3A9GW4H

x2j-Mj#Z E0Submit 提交按钮对象由“<input type="submit">指定。因为 Submit 也是按钮,所以也有Button 对象的属性和方法。至于“onclick”事件,一般用Form对象的onsubmit代替。

;Z)I~Sq\z Z9t0

8Y)Ot&XdF'K2aDW0Text 文本框对象由“<input type="text">”指定。Password 对象也是 Text 对象的一种,所以Password 对象所有的属性、方法和事件,Text 对象都有。PHPChina 开源社区门户`5q:g/i/g8C p9L#o%W

PHPChina 开源社区门户0M E$r9D&Bo? m8u+bL

Textarea 多行文本输入区对象由“<textarea>”指定。Textarea 对象所有的属性、方法和事件和Text 对象相同,也就是跟Password 对象一样。PHPChina 开源社区门户Pd-]8Gd)qJ PGM

PHPChina 开源社区门户,v3S0gLo~x

images[]; Image 图片对象document.images[] 是一个数组,包含了文档中所有的图片(<img>)。要引用单个图片,可以用 document.images[x]。如果某图片包含“name”属性,也就是用“<img name="...">”这种格式定义了一幅图片,就可以使用“document.images['...']”这种方法来引用图片。在 IE 中,如果某图片包含 ID 属性,也就是用“<img id="...">”这种格式定义了一幅图片,就可以直接使用“<imageID>”来引用图片。PHPChina 开源社区门户s7K X[q*`\

]KGI p0单个 Image 对象的属性

?3]g%k_ g7g5F.N0PHPChina 开源社区门户I/H y1h-F

name; src; lowsrc; width; height; vspace; hspace; border这些属性跟<img>标记里的同名属性是一样的。在 Netscape 里,除了 src 属性,其它属性(几乎全部)都不能改的,即使改了,在文档中也不能显示出效果来。这些属性最有用的就是 src 了,通过对 src 属性赋值,可以实时的更改图片。

i4a$p8P(vR8oT.gW0PHPChina 开源社区门户o9E#PJ:NH

事件

U$Kg$mis0}0PHPChina 开源社区门户,k)oz|+wA

onclickPHPChina 开源社区门户.X8FV6DCF

PHPChina 开源社区门户3rw0I9L7QS

不显示在文档中的 Image 对象

M+kWNLok$g.Q/R0PHPChina 开源社区门户X0VDx*~o

不显示在文档中的 Image 对象是用 var 语句定义的:PHPChina 开源社区门户6A,P fH*g'A$u SZ

Ok#YG@0var myImage = new Image(); 或
r9EV*a#ib4K0var myImage = new Image(<图片地址字符串>);PHPChina 开源社区门户1X^7S6h`&G

PHPChina 开源社区门户g._M'n$ce*K"R

然后就可以像一般 Image 对象一样对待 myImage 变量了。不过既然它不显示在文档中,以下属性:lowsrc, width, height, vspace, hspace, border 就没有什么用途了。一般这种对象只有一个用:预读图片(preload)。因为当对对象的 src 属性赋值的时候,整个文档的读取、Javascrīpt 的运行都暂停,让浏览器专心的读取图片。预读图片以后,浏览器的缓存里就有了图片的 Copy,到真正要把图片放到文档中的时候,图片就可以立刻显示了。现在的网页中经常会有一些图像连接,当鼠标指向它的时候,图像换成另外一幅图像,它们都是先预读图像的。

O2_5GA'U0\0

(W4?n'\Rq w0预读图像的 Javascrīpt 例子PHPChina 开源社区门户x-f)gOPO FQ1~0P

'oIvoF(`_1Xm#cGS6H0var imagePreload = new Image();

h[SA6qj @8N0

/R']*K2h V0imagePreload.src = '001.gif';
H1y9V)[9plm*kC)e0imagePreload.src = '002.gif';PHPChina 开源社区门户:S:b Q"O#sb
imagePreload.src = '003.gif';PHPChina 开源社区门户!Ad(m(Dc$U

PHPChina 开源社区门户 H]:w)VN_r_-M

以上例子适合预读少量图片。PHPChina 开源社区门户$B%zH9m+PZ

3RFy7h D2J_0function imagePreload() {
XX-w XjmI)O)Hj0  var imgPreload = new Image();PHPChina 开源社区门户|#Y_^ja"H
  for (i = 0; i < arguments.length; i++) {
]Wq[2D+P;I&[0    imgPreload.src = arguments[i];PHPChina 开源社区门户[X5u o;? Yd
  }
nzil:hnAA0}

ol8Q0m D0

Xa B Ej(MCL0imagePreload('001.gif', '002.gif', '003.gif', '004.gif', '005.gif');

2K-^ab Yt/cTg%}i0

}pC9[5ct0以上例子适合预读大量图片。
%K'dc9q oi1\1E0PHPChina 开源社区门户d a'j|T&C


TAG: js

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

数据统计

  • 访问量: 10226
  • 日志数: 51
  • 图片数: 3
  • 书签数: 3
  • 建立时间: 2007-02-07
  • 更新时间: 2008-02-27

RSS订阅

Open Toolbar