Spec-Zone.ru › Web APIs

Документ: метод 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.

Исключения

NamespaceError DOMException

Выбрасывается, если значение namespaceURI не является допустимым URI пространства имён.

InvalidCharacterError DOMException

Выбрасывается, если значение qualifiedName не является допустимым именем XML; например, если оно начинается с цифры, дефиса или точки, или содержит символы, отличные от буквенно-цифровых символов, символов нижнего подчеркивания, дефисов или точек.

Важные URI пространств имён

HTML

http://www.w3.org/1999/xhtml

SVG

http://www.w3.org/2000/svg

MathML

http://www.w3.org/1998/Math/MathML

Примеры

Это создаёт новый элемент <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 может быть объектом или строкой с именем тега пользовательского элемента, хотя версия со строкой устарела.

См. также

  • document.createElement()
  • document.createTextNode()
  • Element.namespaceURI
  • Пространства имён в XML

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API