Документ: метод createElementNS()
Базовая реализация Широко доступна *
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
* Некоторые части этой функции могут иметь различный уровень поддержки.
Создаёт элемент с указанным URI пространства имён и квалифицированным именем.
Для создания элемента без указания URI пространства имён используйте метод createElement().
Синтаксис
createElementNS(namespaceURI, qualifiedName) createElementNS(namespaceURI, qualifiedName, options)
Параметры
namespaceURI-
Строка, определяющая URI пространства имён, которое нужно связать с элементом. Свойство
namespaceURIсозданного элемента инициализируется значением namespaceURI. См. Допустимые URI пространств имён. qualifiedName-
Строка, определяющая тип создаваемого элемента. Свойство
nodeNameсозданного элемента инициализируется значением qualifiedName. optionsНеобязательный-
Необязательный объект
ElementCreationOptions, содержащий единственное свойство с именемis, значением которого является имя тега для пользовательского элемента, ранее определённого с помощьюcustomElements.define(). Для обеспечения обратной совместимости с предыдущими версиями спецификации Custom Elements некоторые браузеры позволят вам передать здесь строку вместо объекта, где значение строки — имя тега пользовательского элемента. См. Расширение встроенных HTML-элементов для получения дополнительной информации об использовании этого параметра.Новому элементу будет присвоено атрибут
is, значение которого будет именем тега пользовательского элемента. Пользовательские элементы — экспериментальная функция, доступная только в некоторых браузерах.
Возвращаемое значение
Новый Element.
Исключения
-
NamespaceErrorDOMException -
Выбрасывается, если значение
namespaceURIне является допустимым URI пространства имён. -
InvalidCharacterErrorDOMException -
Выбрасывается, если значение
qualifiedNameне является допустимым именем XML; например, если оно начинается с цифры, дефиса или точки, или содержит символы, отличные от буквенно-цифровых символов, символов нижнего подчеркивания, дефисов или точек.
Важные URI пространств имён
Примеры
Это создаёт новый элемент <div> в пространстве имён XHTML и добавляет его к элементу 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 textNode;
function init(){
container = document.getElementById("ContainerBox");
newDiv = document.createElementNS("http://www.w3.org/1999/xhtml", "div");
textNode = document.createTextNode("This is text that was constructed dynamically with createElementNS and createTextNode then inserted into the document using appendChild.");
newDiv.appendChild(textNode);
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. Этот конкретный пример фактически является документом XUL с вложенным XHTML, однако рекомендация всё равно актуальна.
Спецификации
| Спецификация |
|---|
| DOM # ref-for-dom-document-createelementns① |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
createElementNS |
1 | 12 | 1Не соответствует спецификации DOM для документов XUL и XHTML:localName и namespaceURI не установлены в null для созданного элемента. |
≤12.1 | 1 | 18 | 4 | ≤12.1 | 1 | 1.0 | 4.4 |
options_parameter |
56Для обеспечения обратной совместимости параметрoptions может быть объектом или строкой с именем тега пользовательского элемента, хотя версия со строкой устарела. |
79Для обеспечения обратной совместимости параметрoptions может быть объектом или строкой с именем тега пользовательского элемента, хотя версия со строкой устарела. |
50Firefox принимает строку вместо объекта здесь, но только начиная с версии 51. В версии 50 options должен быть объектом. |
43Для обеспечения обратной совместимости параметрoptions может быть объектом или строкой с именем тега пользовательского элемента, хотя версия со строкой устарела. |
Нет | 56Для обеспечения обратной совместимости параметрoptions может быть объектом или строкой с именем тега пользовательского элемента, хотя версия со строкой устарела. |
50Firefox для Android принимает строку вместо объекта здесь, но только начиная с версии 51. В версии 50 options должен быть объектом. |
43Для обеспечения обратной совместимости параметрoptions может быть объектом или строкой с именем тега пользовательского элемента, хотя версия со строкой устарела. |
Нет | 6.0Для обеспечения обратной совместимости параметрoptions может быть объектом или строкой с именем тега пользовательского элемента, хотя версия со строкой устарела. |
56Для обеспечения обратной совместимости параметрoptions может быть объектом или строкой с именем тега пользовательского элемента, хотя версия со строкой устарела. |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Document/createElementNS