Document:createProcessingInstruction() 方法

createProcessingInstruction() 生成新的处理指令节点并返回。

新节点通常会被插入 XML 文档,以便完成任何操作,例如 node.insertBefore

语法

js
createProcessingInstruction(target, data)

参数

  • piNode 是生成的 ProcessingInstruction 节点。
  • target 是包含处理指令的第一部分字符串(即 <?target … ?>)。
  • data 是包含处理指令在目标之后应携带的任何信息字符串,数据由你决定,但不能包含 ?>,因为这会关闭处理指令。

返回值

无(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));
// 显示:<?xml-stylesheet href="mycss.css" type="text/css"?><foo/>

规范

Specification
DOM Standard
# ref-for-dom-document-createprocessinginstruction①

浏览器兼容性

BCD tables only load in the browser