Document: createElementNS() 方法
使用指定的命名空间 URI 和限定名创建一个元素。
若要创建不指定命名空间 URI 的元素,请使用 createElement()
方法。
语法
createElementNS(namespaceURI, qualifiedName)
createElementNS(namespaceURI, qualifiedName, options)
参数
namespaceURI
-
一个指定要与元素关联的 命名空间 URI 的字符串。所创建元素的
namespaceURI
属性将使用 namespaceURI 的值进行初始化。请参阅 有效的命名空间 URI。 qualifiedName
-
一个指定要创建的元素类型的字符串。所创建元素的
nodeName
属性将使用 qualifiedName 的值进行初始化。 options
可选-
一个可选的
ElementCreationOptions
对象,其中包含一个名为is
的属性,其值为使用customElements.define()
预先定义的自定义元素的标签名。为了与之前版本的 自定义元素规范 向后兼容,某些浏览器将允许您在此处传递一个字符串而不是对象,其中字符串的值为自定义元素的标签名。有关如何使用此参数的更多信息,请参阅 扩展原生 HTML 元素。新元素将被赋予一个值为自定义元素标签名的
is
属性。自定义元素是一个实验性功能,仅在某些浏览器中可用。
返回值
新的 Element
。
异常
NamespaceError
DOMException
-
如果
namespaceURI
值不是有效的 命名空间 URI,则会抛出此异常。 InvalidCharacterError
DOMException
-
如果
qualifiedName
值不是有效的 XML 名称,则会抛出此异常;例如,它以数字、连字符或句点开头,或者包含除字母数字字符、下划线、连字符或句点以外的其他字符。
重要命名空间 URI
示例
这将在 XHTML 命名空间中创建一个新的 <div>
元素,并将其附加到 vbox 元素。虽然这不是一个非常有用的 XUL 文档,但它确实演示了如何在单个文档中使用来自两个不同命名空间的元素。
<?xml version="1.0"?>
<page xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
title="||Working with elements||"
onload="init()">
<script type="application/javascript"><![CDATA[
let container;
let newdiv;
let txtnode;
function init(){
container = document.getElementById("ContainerBox");
newdiv = document.createElementNS("http://www.w3.org/1999/xhtml", "div");
txtnode = document.createTextNode("This is text that was constructed dynamically with createElementNS and createTextNode then inserted into the document using appendChild.");
newdiv.appendChild(txtnode);
container.appendChild(newdiv);
}
]]></script>
<vbox id="ContainerBox" flex="1">
<html:div>
The script on this page will add dynamic content below:
</html:div>
</vbox>
</page>
注意: 上面的示例使用内联脚本,这在 XHTML 文档中不推荐。这个特定示例实际上是一个包含嵌入式 XHTML 的 XUL 文档,但是,该建议仍然适用。
规范
规范 |
---|
DOM 标准 # ref-for-dom-document-createelementns① |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。