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

规范

规范
DOM 标准
# ref-for-dom-document-createprocessinginstruction①

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。