文件:createProcessingInstruction() 方法

Baseline 已廣泛支援

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

createProcessingInstruction() 會生成一個新的 處理指令 節點並返回它。

新節點通常會被插入到 XML 文件中,以便對其進行操作,例如使用 node.insertBefore

語法

js
createProcessingInstruction(target, data)

引數

piNode

生成的 ProcessingInstruction 節點。

目標

一個包含處理指令第一部分的字串(即 <?target … ?>

data

一個包含處理指令應攜帶的任何資訊的字串,位於 target 之後。資料由您決定,但不能包含 ?>,因為這會關閉處理指令。

返回值

無(undefined)。

異常

InvalidCharacterError DOMException

如果以下任一情況成立,則會丟擲異常

  • target 目標 值不是有效的 XML 名稱;例如,它以數字、連字元或句點開頭,或者包含除字母數字字元、下劃線、連字元或句點以外的字元。
  • 結束處理指令序列?>)是 data 資料 值的一部分。

示例

js
const doc = new DOMParser().parseFromString("<foo />", "application/xml");
const pi = doc.createProcessingInstruction(
  "xml-stylesheet",
  'href="mycss.css"',
);

doc.insertBefore(pi, doc.firstChild);

console.log(new XMLSerializer().serializeToString(doc));
// Displays: <?xml-stylesheet href="mycss.css" type="text/css"?><foo/>

規範

規範
DOM
# ref-for-dom-document-createprocessinginstruction①

瀏覽器相容性