HTMLTableElement

Baseline 廣泛可用 *

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

* 此特性的某些部分可能存在不同級別的支援。

HTMLTableElement 介面提供了特殊的屬性和方法(除了它透過繼承獲得的常規 HTMLElement 物件介面之外),用於操作 HTML 文件中表的佈局和呈現。

EventTarget Node Element HTMLElement HTMLTableElement

例項屬性

繼承自其父級 HTMLElement 的屬性。

HTMLTableElement.caption

一個 HTMLTableCaptionElement,表示作為該元素的第一個子元素的 <caption>,如果未找到則為 null。設定時,如果該物件不表示一個 <caption>,則會丟擲一個名為 HierarchyRequestErrorDOMException。如果給定一個正確的物件,它將被插入到樹中作為此元素的第一個子元素,並且如果存在任何作為此元素的子元素的第一個 <caption>,則會從樹中刪除。

HTMLTableElement.tHead

一個 HTMLTableSectionElement,表示作為該元素的第一個子元素的 <thead>,如果未找到則為 null。設定時,如果該物件不表示一個 <thead>,則會丟擲一個名為 HierarchyRequestErrorDOMException。如果給定一個正確的物件,它將被插入到樹中,緊鄰第一個既不是 <caption> 也不是 <colgroup> 的元素之前,如果不存在這樣的元素,則作為最後一個子元素,並且如果存在任何作為此元素的子元素的第一個 <thead>,則會從樹中刪除。

HTMLTableElement.tFoot

一個 HTMLTableSectionElement,表示作為該元素的第一個子元素的 <tfoot>,如果未找到則為 null。設定時,如果該物件不表示一個 <tfoot>,則會丟擲一個名為 HierarchyRequestErrorDOMException。如果給定一個正確的物件,它將被插入到樹中,緊鄰第一個既不是 <caption>、也不是 <colgroup>、也不是 <thead> 的元素之前,如果不存在這樣的元素,則作為最後一個子元素,並且如果存在任何作為此元素的子元素的第一個 <tfoot>,則會從樹中刪除。

HTMLTableElement.rows 只讀

返回一個活的 HTMLCollection,其中包含該元素的所有行,即所有作為該元素的子元素,或作為其 <thead><tbody><tfoot> 子元素之一的子元素的 <tr> 元素。<thead> 的行成員首先出現,按樹順序排列,<tbody> 的成員最後出現,也按樹順序排列。該 HTMLCollection 是活的,當 HTMLTableElement 改變時會自動更新。

HTMLTableElement.tBodies 只讀

返回一個活的 HTMLCollection,其中包含該元素的所有 <tbody> 元素。該 HTMLCollection 是活的,當 HTMLTableElement 改變時會自動更新。

過時屬性

警告: 以下屬性已過時。您應該避免使用它們。

HTMLTableElement.align 已過時

一個字串,包含一個列舉值,反映 align 屬性。它指示元素內容相對於周圍上下文的對齊方式。可能的值是 "left""right""center"

HTMLTableElement.bgColor 已過時

一個字串,包含單元格的背景顏色。它反映了已過時的 bgColor 屬性。

HTMLTableElement.border 已過時

一個字串,包含表格邊框的畫素寬度。它反映了已過時的 border 屬性。

HTMLTableElement.cellPadding 已過時

一個字串,包含單元格內容和單元格邊框之間的水平和垂直空間畫素寬度。它反映了已過時的 cellpadding 屬性。

HTMLTableElement.cellSpacing 已過時

一個字串,包含單元格之間水平和垂直分隔的畫素寬度。它反映了已過時的 cellspacing 屬性。

HTMLTableElement.frame 已過時

一個字串,包含表格外部邊框的型別。它反映了已過時的 frame 屬性,可以取以下值之一:"void""above""below""hsides""vsides""lhs""rhs""box""border"

HTMLTableElement.rules 已過時

一個字串,包含表格內部邊框的型別。它反映了已過時的 rules 屬性,可以取以下值之一:"none""groups""rows""cols""all"

HTMLTableElement.summary 已過時

一個字串,包含表格用途或結構的描述。它反映了已過時的 summary 屬性。

HTMLTableElement.width 已過時

一個字串,包含整個表格所需寬度的畫素或百分比長度。它反映了已過時的 width 屬性。

例項方法

繼承自其父級 HTMLElement 的方法.

HTMLTableElement.createTHead()

返回一個 HTMLTableSectionElement,表示作為該元素的第一個子元素的 <thead>。如果未找到,則會建立一個新的,並將其插入到樹中,緊鄰第一個既不是 <caption> 也不是 <colgroup> 的元素之前,如果不存在這樣的元素,則作為最後一個子元素。

HTMLTableElement.deleteTHead()

移除作為該元素的第一個子元素的 <thead>

HTMLTableElement.createTFoot()

返回一個 HTMLTableSectionElement,表示作為該元素的第一個子元素的 <tfoot>。如果未找到,則會建立一個新的,並將其作為最後一個子元素插入到樹中。

HTMLTableElement.deleteTFoot()

移除作為該元素的第一個子元素的 <tfoot>

HTMLTableElement.createTBody()

返回一個 HTMLTableSectionElement,表示一個作為該元素子元素的新 <tbody>。它被插入到樹中,位於最後一個 <tbody> 元素之後,如果不存在這樣的元素,則作為最後一個子元素。

HTMLTableElement.createCaption()

返回一個 HTMLElement,表示作為該元素的第一個子元素的 <caption>。如果未找到,則會建立一個新的,並將其作為 <table> 元素的第一個子元素插入到樹中。

HTMLTableElement.deleteCaption()

移除作為該元素的第一個子元素的 <caption>

HTMLTableElement.insertRow()

返回一個 HTMLTableRowElement,表示表格中的新行。它將其插入到行集合中,緊鄰給定 index 位置的 <tr> 元素之前。如有必要,會建立一個 <tbody>。如果 index-1,則新行將附加到集合中。如果 index 小於 -1 或大於集合中的行數,則會丟擲一個值為 IndexSizeErrorDOMException

HTMLTableElement.deleteRow()

移除與引數中給定 index 對應的行。如果 index 值為 -1,則移除最後一行;如果它小於 -1 或大於集合中的行數,則會丟擲一個值為 IndexSizeErrorDOMException

示例

使用 DOM 表格介面

HTMLTableElement 介面提供了一些方便的方法來建立和操作表格。兩個常用方法是 HTMLTableElement.insertRowHTMLTableRowElement.insertCell

向現有表格新增行和單元格

html
<table id="table0">
  <tr>
    <td>Row 0 Cell 0</td>
    <td>Row 0 Cell 1</td>
  </tr>
</table>
js
const table = document.getElementById("table0");
const row = table.insertRow(-1);

for (let i = 0; i < 2; i++) {
  const cell = row.insertCell(-1);
  const text = `Row ${row.rowIndex} Cell ${i}`;
  cell.appendChild(document.createTextNode(text));
}

規範

規範
HTML
# htmltableelement

瀏覽器相容性

另見

  • 實現此介面的 HTML 元素:<table>