aboutsummaryrefslogtreecommitdiff
path: root/files/zh-tw/web/api/document_object_model/index.html
blob: a2e07c7fddb95aff82efe92e6a3beda286633bbf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
---
title: 文件物件模型 (DOM)
slug: Web/API/Document_Object_Model
tags:
  - DOM
  - DOM Reference
  - DOM 參考
  - Intermediate
translation_of: Web/API/Document_Object_Model
---
<p>{{DefaultAPISidebar("DOM")}}</p>

<p><strong>文件物件模型(<em>Document Object Model, DOM</em></strong>是 HTML、XML 和 SVG 文件的程式介面。它提供了一個文件(樹)的結構化表示法,並定義讓程式可以存取並改變文件架構、風格和內容的方法。DOM 提供了文件以擁有屬性與函式的節點與物件組成的結構化表示。節點也可以附加事件處理程序,一旦觸發事件就會執行處理程序。 本質上,它將網頁與腳本或程式語言連結在一起。</p>

<p>雖然常常使用 JavaScript 來存取 DOM,但它本身並不是 JavaScript 語言的一部分,而且它也可以被其他語言存取(雖然不太常見就是了)。</p>

<p>這裡有一篇 DOM 的<a href="/zh-TW/docs/DOM/DOM_Reference/Introduction">介紹</a>可供查閱。</p>

<h2 id="DOM_介面">DOM 介面</h2>

<div class="index">
<ul>
 <li>{{domxref("Attr")}}</li>
 <li>{{domxref("CharacterData")}}</li>
 <li>{{domxref("ChildNode")}} {{experimental_inline}}</li>
 <li>{{domxref("Comment")}}</li>
 <li>{{domxref("CustomEvent")}}</li>
 <li>{{domxref("Document")}}</li>
 <li>{{domxref("DocumentFragment")}}</li>
 <li>{{domxref("DocumentType")}}</li>
 <li>{{domxref("DOMError")}}</li>
 <li>{{domxref("DOMException")}}</li>
 <li>{{domxref("DOMImplementation")}}</li>
 <li>{{domxref("DOMString")}}</li>
 <li>{{domxref("DOMTimeStamp")}}</li>
 <li>{{domxref("DOMSettableTokenList")}}</li>
 <li>{{domxref("DOMStringList")}}</li>
 <li>{{domxref("DOMTokenList")}}</li>
 <li>{{domxref("Element")}}</li>
 <li>{{domxref("Event")}}</li>
 <li>{{domxref("EventTarget")}}</li>
 <li>{{domxref("HTMLCollection")}}</li>
 <li>{{domxref("MutationObserver")}}</li>
 <li>{{domxref("MutationRecord")}}</li>
 <li>{{domxref("Node")}}</li>
 <li>{{domxref("NodeFilter")}}</li>
 <li>{{domxref("NodeIterator")}}</li>
 <li>{{domxref("NodeList")}}</li>
 <li>{{domxref("ParentNode")}} {{experimental_inline}}</li>
 <li>{{domxref("ProcessingInstruction")}}</li>
 <li>{{domxref("Range")}}</li>
 <li>{{domxref("Text")}}</li>
 <li>{{domxref("TreeWalker")}}</li>
 <li>{{domxref("URL")}}</li>
 <li>{{domxref("Window")}}</li>
 <li>{{domxref("Worker")}}</li>
 <li>{{domxref("XMLDocument")}} {{experimental_inline}}</li>
</ul>
</div>

<h2 id="棄用的_DOM_介面">棄用的 DOM 介面</h2>

<p>文件物件模型正被大量的簡化。為了達成這個目的,下這些介面是在 DOM level 3 或更早的規範中就被刪掉了。由於不清楚是否會被再度納入,請姑且當他們已經被遺棄,並避免使用:</p>

<div class="index">
<ul>
 <li>{{domxref("CDATASection")}}</li>
 <li>{{domxref("DOMConfiguration")}}</li>
 <li>{{domxref("DOMErrorHandler")}}</li>
 <li>{{domxref("DOMImplementationList")}}</li>
 <li>{{domxref("DOMImplementationRegistry")}}</li>
 <li>{{domxref("DOMImplementationSource")}}</li>
 <li>{{domxref("DOMLocator")}}</li>
 <li>{{domxref("DOMObject")}}</li>
 <li>{{domxref("DOMUserData")}}</li>
 <li>{{domxref("Entity")}}</li>
 <li>{{domxref("EntityReference")}}</li>
 <li>{{domxref("NamedNodeMap")}}</li>
 <li>{{domxref("NameList")}}</li>
 <li>{{domxref("Notation")}}</li>
 <li>{{domxref("TypeInfo")}}</li>
 <li>{{domxref("UserDataHandler")}}</li>
 <li> </li>
</ul>
</div>

<h2 id="HTML_介面">HTML 介面</h2>

<p>一份包含 html 的文件會透過 {{domxref("HTMLDocument")}} 介面來描述。注意 HTML 規範也擴展了 {{domxref("Document")}} 介面。</p>

<p><code>HTMLDocument</code> 物件也提供了瀏覽器功能的存取:分頁、透過 {{domxref("Window")}} 介面描繪頁面的視窗、與其相關的 {{domxref("window.style", "樣式")}} (通常是 CSS )、與本文關聯的瀏覽器 {{domxref("window.history", "歷史")}}、以及一個文件內的 {{domxref("Selection", "選擇器")}}</p>

<h3 id="HTML_元素介面">HTML 元素介面</h3>

<div class="index">
<ul>
 <li>{{domxref("HTMLAnchorElement")}}</li>
 <li>{{domxref("HTMLAppletElement")}}</li>
 <li>{{domxref("HTMLAreaElement")}}</li>
 <li>{{domxref("HTMLAudioElement")}}</li>
 <li>{{domxref("HTMLBaseElement")}}</li>
 <li>{{domxref("HTMLBodyElement")}}</li>
 <li>{{domxref("HTMLBRElement")}}</li>
 <li>{{domxref("HTMLButtonElement")}}</li>
 <li>{{domxref("HTMLCanvasElement")}}</li>
 <li>{{domxref("HTMLDataElement")}}</li>
 <li>{{domxref("HTMLDataListElement")}}</li>
 <li>{{domxref("HTMLDialogElement")}}</li>
 <li>{{domxref("HTMLDirectoryElement")}}</li>
 <li>{{domxref("HTMLDivElement")}}</li>
 <li>{{domxref("HTMLDListElement")}}</li>
 <li>{{domxref("HTMLElement")}}</li>
 <li>{{domxref("HTMLEmbedElement")}}</li>
 <li>{{domxref("HTMLFieldSetElement")}}</li>
 <li>{{domxref("HTMLFontElement")}}</li>
 <li>{{domxref("HTMLFormElement")}}</li>
 <li>{{domxref("HTMLFrameElement")}}</li>
 <li>{{domxref("HTMLFrameSetElement")}}</li>
 <li>{{domxref("HTMLHeadElement")}}</li>
 <li>{{domxref("HTMLHeadingElement")}}</li>
 <li>{{domxref("HTMLHtmlElement")}}</li>
 <li>{{domxref("HTMLHRElement")}}</li>
 <li>{{domxref("HTMLIFrameElement")}}</li>
 <li>{{domxref("HTMLImageElement")}}</li>
 <li>{{domxref("HTMLInputElement")}}</li>
 <li>{{domxref("HTMLKeygenElement")}}</li>
 <li>{{domxref("HTMLLabelElement")}}</li>
 <li>{{domxref("HTMLLegendElement")}}</li>
 <li>{{domxref("HTMLLIElement")}}</li>
 <li>{{domxref("HTMLLinkElement")}}</li>
 <li>{{domxref("HTMLMapElement")}}</li>
 <li>{{domxref("HTMLMediaElement")}}</li>
 <li>{{domxref("HTMLMenuElement")}}</li>
 <li>{{domxref("HTMLMetaElement")}}</li>
 <li>{{domxref("HTMLMeterElement")}}</li>
 <li>{{domxref("HTMLModElement")}}</li>
 <li>{{domxref("HTMLObjectElement")}}</li>
 <li>{{domxref("HTMLOListElement")}}</li>
 <li>{{domxref("HTMLOptGroupElement")}}</li>
 <li>{{domxref("HTMLOptionElement")}}</li>
 <li>{{domxref("HTMLOutputElement")}}</li>
 <li>{{domxref("HTMLParagraphElement")}}</li>
 <li>{{domxref("HTMLParamElement")}}</li>
 <li>{{domxref("HTMLPreElement")}}</li>
 <li>{{domxref("HTMLProgressElement")}}</li>
 <li>{{domxref("HTMLQuoteElement")}}</li>
 <li>{{domxref("HTMLScriptElement")}}</li>
 <li>{{domxref("HTMLSelectElement")}}</li>
 <li>{{domxref("HTMLSourceElement")}}</li>
 <li>{{domxref("HTMLSpanElement")}}</li>
 <li>{{domxref("HTMLStyleElement")}}</li>
 <li>{{domxref("HTMLTableElement")}}</li>
 <li>{{domxref("HTMLTableCaptionElement")}}</li>
 <li>{{domxref("HTMLTableCellElement")}}</li>
 <li>{{domxref("HTMLTableDataCellElement")}}</li>
 <li>{{domxref("HTMLTableHeaderCellElement")}}</li>
 <li>{{domxref("HTMLTableColElement")}}</li>
 <li>{{domxref("HTMLTableRowElement")}}</li>
 <li>{{domxref("HTMLTableSectionElement")}}</li>
 <li>{{domxref("HTMLTextAreaElement")}}</li>
 <li>{{domxref("HTMLTimeElement")}}</li>
 <li>{{domxref("HTMLTitleElement")}}</li>
 <li>{{domxref("HTMLTrackElement")}}</li>
 <li>{{domxref("HTMLUListElement")}}</li>
 <li>{{domxref("HTMLUnknownElement")}}</li>
 <li>{{domxref("HTMLVideoElement")}}</li>
</ul>
</div>

<h3 id="其他介面">其他介面</h3>

<div class="index">
<ul>
 <li>{{domxref("CanvasRenderingContext2D")}}</li>
 <li>{{domxref("CanvasGradient")}}</li>
 <li>{{domxref("CanvasPattern")}}</li>
 <li>{{domxref("TextMetrics")}}</li>
 <li>{{domxref("ImageData")}}</li>
 <li>{{domxref("CanvasPixelArray")}}</li>
 <li>{{domxref("NotifyAudioAvailableEvent")}}</li>
 <li>{{domxref("HTMLAllCollection")}}</li>
 <li>{{domxref("HTMLFormControlsCollection")}}</li>
 <li>{{domxref("HTMLOptionsCollection")}}</li>
 <li>{{domxref("HTMLPropertiesCollection")}}</li>
 <li>{{domxref("DOMStringMap")}}</li>
 <li>{{domxref("RadioNodeList")}}</li>
 <li>{{domxref("MediaError")}}</li>
</ul>
</div>

<h3 id="棄用的_HTML_介面">棄用的 HTML 介面</h3>

<div class="index">
<ul>
 <li>{{domxref("HTMLBaseFontElement")}}</li>
 <li>{{domxref("HTMLIsIndexElement")}}</li>
</ul>
</div>

<h2 id="SVG_介面">SVG 介面</h2>

<h3 id="SVG_元素介面">SVG 元素介面</h3>

<div class="index">
<ul>
 <li>{{domxref("SVGAElement")}}</li>
 <li>{{domxref("SVGAltGlyphElement")}}</li>
 <li>{{domxref("SVGAltGlyphDefElement")}}</li>
 <li>{{domxref("SVGAltGlyphItemElement")}}</li>
 <li>{{domxref("SVGAnimationElement")}}</li>
 <li>{{domxref("SVGAnimateElement")}}</li>
 <li>{{domxref("SVGAnimateColorElement")}}</li>
 <li>{{domxref("SVGAnimateMotionElement")}}</li>
 <li>{{domxref("SVGAnimateTransformElement")}}</li>
 <li>{{domxref("SVGCircleElement")}}</li>
 <li>{{domxref("SVGClipPathElement")}}</li>
 <li>{{domxref("SVGColorProfileElement")}}</li>
 <li>{{domxref("SVGComponentTransferFunctionElement")}}</li>
 <li>{{domxref("SVGCursorElement")}}</li>
 <li>{{domxref("SVGDefsElement")}}</li>
 <li>{{domxref("SVGDescElement")}}</li>
 <li>{{domxref("SVGElement")}}</li>
 <li>{{domxref("SVGEllipseElement")}}</li>
 <li>{{domxref("SVGFEBlendElement")}}</li>
 <li>{{domxref("SVGFEColorMatrixElement")}}</li>
 <li>{{domxref("SVGFEComponentTransferElement")}}</li>
 <li>{{domxref("SVGFECompositeElement")}}</li>
 <li>{{domxref("SVGFEConvolveMatrixElement")}}</li>
 <li>{{domxref("SVGFEDiffuseLightingElement")}}</li>
 <li>{{domxref("SVGFEDisplacementMapElement")}}</li>
 <li>{{domxref("SVGFEDistantLightElement")}}</li>
 <li>{{domxref("SVGFEFloodElement")}}</li>
 <li>{{domxref("SVGFEGaussianBlurElement")}}</li>
 <li>{{domxref("SVGFEImageElement")}}</li>
 <li>{{domxref("SVGFEMergeElement")}}</li>
 <li>{{domxref("SVGFEMergeNodeElement")}}</li>
 <li>{{domxref("SVGFEMorphologyElement")}}</li>
 <li>{{domxref("SVGFEOffsetElement")}}</li>
 <li>{{domxref("SVGFEPointLightElement")}}</li>
 <li>{{domxref("SVGFESpecularLightingElement")}}</li>
 <li>{{domxref("SVGFESpotLightElement")}}</li>
 <li>{{domxref("SVGFETileElement")}}</li>
 <li>{{domxref("SVGFETurbulenceElement")}}</li>
 <li>{{domxref("SVGFEFuncRElement")}}</li>
 <li>{{domxref("SVGFEFuncGElement")}}</li>
 <li>{{domxref("SVGFEFuncBElement")}}</li>
 <li>{{domxref("SVGFEFuncAElement")}}</li>
 <li>{{domxref("SVGFilterElement")}}</li>
 <li>{{domxref("SVGFilterPrimitiveStandardAttributes")}}</li>
 <li>{{domxref("SVGFontElement")}}</li>
 <li>{{domxref("SVGFontFaceElement")}}</li>
 <li>{{domxref("SVGFontFaceFormatElement")}}</li>
 <li>{{domxref("SVGFontFaceNameElement")}}</li>
 <li>{{domxref("SVGFontFaceSrcElement")}}</li>
 <li>{{domxref("SVGFontFaceUriElement")}}</li>
 <li>{{domxref("SVGForeignObjectElement")}}</li>
 <li>{{domxref("SVGGElement")}}</li>
 <li>{{domxref("SVGGlyphElement")}}</li>
 <li>{{domxref("SVGGlyphRefElement")}}</li>
 <li>{{domxref("SVGGradientElement")}}</li>
 <li>{{domxref("SVGHKernElement")}}</li>
 <li>{{domxref("SVGImageElement")}}</li>
 <li>{{domxref("SVGLinearGradientElement")}}</li>
 <li>{{domxref("SVGLineElement")}}</li>
 <li>{{domxref("SVGMarkerElement")}}</li>
 <li>{{domxref("SVGMaskElement")}}</li>
 <li>{{domxref("SVGMetadataElement")}}</li>
 <li>{{domxref("SVGMissingGlyphElement")}}</li>
 <li>{{domxref("SVGMPathElement")}}</li>
 <li>{{domxref("SVGPathElement")}}</li>
 <li>{{domxref("SVGPatternElement")}}</li>
 <li>{{domxref("SVGPolylineElement")}}</li>
 <li>{{domxref("SVGPolygonElement")}}</li>
 <li>{{domxref("SVGRadialGradientElement")}}</li>
 <li>{{domxref("SVGRectElement")}}</li>
 <li>{{domxref("SVGScriptElement")}}</li>
 <li>{{domxref("SVGSetElement")}}</li>
 <li>{{domxref("SVGStopElement")}}</li>
 <li>{{domxref("SVGStyleElement")}}</li>
 <li>{{domxref("SVGSVGElement")}}</li>
 <li>{{domxref("SVGSwitchElement")}}</li>
 <li>{{domxref("SVGSymbolElement")}}</li>
 <li>{{domxref("SVGTextElement")}}</li>
 <li>{{domxref("SVGTextPathElement")}}</li>
 <li>{{domxref("SVGTitleElement")}}</li>
 <li>{{domxref("SVGTRefElement")}}</li>
 <li>{{domxref("SVGTSpanElement")}}</li>
 <li>{{domxref("SVGUseElement")}}</li>
 <li>{{domxref("SVGViewElement")}}</li>
 <li>{{domxref("SVGVKernElement")}}</li>
</ul>
</div>

<h3 id="SVG_資料型別介面">SVG 資料型別介面</h3>

<p>這裡是資料型態的 DOM API,在 SVG 特性和性質的定義中被使用。</p>

<div class="note">
<p><strong><strong>備註:</strong></strong>{{Gecko("5.0")}}<strong> </strong>開始,下列 SVG 相關的 DOM 介面物件的表示清單,現在可以被索引且可以像陣列般被取用;此外,他們也有 length 屬性來標示其清單中的項目個數:{{domxref("SVGLengthList")}}{{domxref("SVGNumberList")}}{{domxref("SVGPathSegList")}},和 {{domxref("SVGPointList")}}</p>
</div>

<h4 id="靜態類型">靜態類型</h4>

<div class="index">
<ul>
 <li>{{domxref("SVGAngle")}}</li>
 <li>{{domxref("SVGColor")}}</li>
 <li>{{domxref("SVGICCColor")}}</li>
 <li>{{domxref("SVGElementInstance")}}</li>
 <li>{{domxref("SVGElementInstanceList")}}</li>
 <li>{{domxref("SVGLength")}}</li>
 <li>{{domxref("SVGLengthList")}}</li>
 <li>{{domxref("SVGMatrix")}}</li>
 <li>{{domxref("SVGNumber")}}</li>
 <li>{{domxref("SVGNumberList")}}</li>
 <li>{{domxref("SVGPaint")}}</li>
 <li>{{domxref("SVGPoint")}}</li>
 <li>{{domxref("SVGPointList")}}</li>
 <li>{{domxref("SVGPreserveAspectRatio")}}</li>
 <li>{{domxref("SVGRect")}}</li>
 <li>{{domxref("SVGStringList")}}</li>
 <li>{{domxref("SVGTransform")}}</li>
 <li>{{domxref("SVGTransformList")}}</li>
</ul>
</div>

<h4 id="動畫類型">動畫類型</h4>

<div class="index">
<ul>
 <li>{{domxref("SVGAnimatedAngle")}}</li>
 <li>{{domxref("SVGAnimatedBoolean")}}</li>
 <li>{{domxref("SVGAnimatedEnumeration")}}</li>
 <li>{{domxref("SVGAnimatedInteger")}}</li>
 <li>{{domxref("SVGAnimatedLength")}}</li>
 <li>{{domxref("SVGAnimatedLengthList")}}</li>
 <li>{{domxref("SVGAnimatedNumber")}}</li>
 <li>{{domxref("SVGAnimatedNumberList")}}</li>
 <li>{{domxref("SVGAnimatedPreserveAspectRatio")}}</li>
 <li>{{domxref("SVGAnimatedRect")}}</li>
 <li>{{domxref("SVGAnimatedString")}}</li>
 <li>{{domxref("SVGAnimatedTransformList")}}</li>
</ul>
</div>

<h3 id="SMIL_相關介面">SMIL 相關介面</h3>

<div class="index">
<ul>
 <li>{{domxref("ElementTimeControl")}}</li>
 <li>{{domxref("TimeEvent")}}</li>
</ul>
</div>

<h3 id="其他的_SVG_介面">其他的 SVG 介面</h3>

<div class="index">
<ul>
 <li>{{domxref("SVGAnimatedPathData")}}</li>
 <li>{{domxref("SVGAnimatedPoints")}}</li>
 <li>{{domxref("SVGColorProfileRule")}}</li>
 <li>{{domxref("SVGCSSRule")}}</li>
 <li>{{domxref("SVGExternalResourcesRequired")}}</li>
 <li>{{domxref("SVGFitToViewBox")}}</li>
 <li>{{domxref("SVGLangSpace")}}</li>
 <li>{{domxref("SVGLocatable")}}</li>
 <li>{{domxref("SVGRenderingIntent")}}</li>
 <li>{{domxref("SVGStylable")}}</li>
 <li>{{domxref("SVGTests")}}</li>
 <li>{{domxref("SVGTextContentElement")}}</li>
 <li>{{domxref("SVGTextPositioningElement")}}</li>
 <li>{{domxref("SVGTransformable")}}</li>
 <li>{{domxref("SVGUnitTypes")}}</li>
 <li>{{domxref("SVGURIReference")}}</li>
 <li>{{domxref("SVGViewSpec")}}</li>
 <li>{{domxref("SVGZoomAndPan")}}</li>
</ul>
</div>

<h2 id="See_also" name="See_also">相關連結</h2>

<ul>
 <li><a href="/zh-TW/docs/DOM/DOM_Reference/Examples">DOM 範例</a></li>
</ul>