Element: insertAdjacentText() 方法

Baseline 已廣泛支援

此功能已成熟,可跨多種裝置和瀏覽器版本工作。它自 ⁨2018 年 4 月⁩ 起已在所有瀏覽器中可用。

Element 介面的 insertAdjacentText() 方法,接收一個相對位置和一個字串,會在呼叫該方法的元素所處的給定位置插入一個新的文字節點。

語法

js
insertAdjacentText(where, data)

引數

其中

一個表示相對於呼叫該方法的元素的位置的字串;必須是以下字串之一:

  • 'beforebegin':在 element 本身之前。
  • 'afterbegin':緊貼在 element 內部,在其第一個子節點之前。
  • 'beforeend':緊貼在 element 內部,在其最後一個子節點之後。
  • 'afterend':在 element 本身之後。
data

一個用於建立新文字節點的字串,該節點將相對於呼叫該方法的元素插入到給定的 where 位置。

返回值

無(undefined)。

異常

SyntaxError DOMException

如果 where 的值不被識別,則會丟擲異常。

位置名稱的視覺化

html
<!-- beforebegin -->
<p>
  <!-- afterbegin -->
  foo
  <!-- beforeend -->
</p>
<!-- afterend -->

注意: 只有當節點在樹中且有元素父節點時,beforebeginafterend 位置才有效。

示例

js
beforeBtn.addEventListener("click", () => {
  para.insertAdjacentText("afterbegin", textInput.value);
});

afterBtn.addEventListener("click", () => {
  para.insertAdjacentText("beforeend", textInput.value);
});

請檢視我們 GitHub 上的 insertAdjacentText.html 演示(也可以檢視 原始碼)。這裡有一個簡單的段落。您可以在表單元素中輸入一些文字,然後按“在...之前插入”“在...之後插入”按鈕,使用 insertAdjacentText() 將其插入到現有段落文字之前或之後。請注意,現有的文字節點不會被修改——而是會建立包含新新增內容的額外文字節點。

規範

規範
DOM
# dom-element-insertadjacenttext

瀏覽器相容性

另見