Document.createProcessingInstruction()

createProcessingInstruction() は新しい処理命令ノードを生成して返します。

新しいノードは node.insertBefore のように、あらゆることを成立させるために XML 文書に挿入されます。

構文

piNode = document.createProcessingInstruction(target, data)

引数

  • piNode は結果の ProcessingInstruction ノードです。
  • target は処理命令の最初の部分 (つまり <?target … ?>) を含む文字列です。
  • data は target の後に処理命令が伝えるすべての情報を含む文字列です。このデータはあなた次第ですが、 ?> は処理命令を閉じるので含むことができません。

例外

DOM_INVALID_CHARACTER
以下の何れかが真になると例外を投げます。
  • 処理命令の target が無効である — 有効な XML 名とは、 "xml", "XML" またはその2つの大文字・小文字の組み合わせであり、 <?xml-stylesheet ?> のような標準化されたものではないものです。
  • closing processing instruction sequence (?>) がdata に含まれている。

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

doc.insertBefore(pi, doc.firstChild);

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

仕様書

仕様書 状態 備考
DOM
createProcessingInstruction() の定義
現行の標準 変更なし
DOM4
createProcessingInstruction() の定義
廃止された data 引数の検証方法のもっと詳細な定義を追加した。
Document Object Model (DOM) Level 3 Core Specification
createProcessingInstruction() の定義
廃止された 対象名の名前空間が正しい形式かどうかチェックされないこと、どの文字が対象名に違反するかの定義、返された ProcessingInstruction オブジェクトのより詳細についてのメモを追加。
Document Object Model (DOM) Level 2 Core Specification
createProcessingInstruction() の定義
廃止された 変更なし
Document Object Model (DOM) Level 1 Specification
createProcessingInstruction() の定義
廃止された 初回定義

ブラウザーの対応

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
createProcessingInstructionChrome 完全対応 1Edge 完全対応 12Firefox 完全対応 ありIE ? Opera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありFirefox Android 完全対応 ありOpera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android ?

凡例

完全対応  
完全対応
実装状況不明  
実装状況不明