Методы добавления новых атрибутов и атрибутивных узлов setAttribute(), setAttributeNS() и setAttributeNode()

Рубрика: Язык разметки XML

Методы setAttribute(), setAttributeNS() и setAttributeNode() используются для установки или замены атрибутов XML узлов. Рассмотрим каждый из них более подробно.

Метод setAttribute()


Справка по Объекту Элемент Все Методы Элемента


Определение и Использование

Метод setAttribute() добавляет новый атрибут.

Если атрибут с таким именем уже существует у элемента, его значение меняется на значение параметра.

Синтаксис

elementNode.setAttribute(name,value)

Параметр Описание
name Обязательный. Указывает имя атрибута для установки
value Обязательный. Указывает значение устанавливаемого атрибута


Пример

Следующий фрагмент кода загружает "books.xml" в xmlDoc, используя
loadXMLDoc()
, и добавляет атрибут "edition" ко всем элементам <book>:


Пример

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("book");

for(i=0;i<x.length;i++)
{
x.item(i).setAttribute("edition","первое");
}

//Вывод заголовка книги и значения
x=xmlDoc.getElementsByTagName("title");
for (i=0;i<x.length;i++)
{
document.write(x[i].childNodes[0].nodeValue);
document.write(" – Издание: ");
document.write(x[i].parentNode.getAttribute(‘edition’));
document.write("");
}

Вывод:

Самогон и другие спиртные напитки домашнего приготовления – Издание: первое
Арлекино и Пьеро – Издание: первое
Ajax в действии – Издание: первое
Библия JavaScript 4-е Издание – Издание: первое

Попробуйте сами »


Демонстрации – Попробуйте Сами


setAttribute() – Изменение значения атрибута


Метод setAttributeNS()


Справка по Объекту Элемент Все Методы Элемента


Определение и Использование

Метод setAttributeNS() добавляет новый атрибут (с пространством имен).

Если атрибут с таким именем или пространством имен уже существует у элемента, его значение меняется на значение параметра и префикса

Синтаксис

elementNode.setAttributeNS(ns,name,value)

Параметр Описание
ns Обязательный. Указывает URI пространства имен устанавливаемого атрибута
name Обязательный. Указывает имя устанавливаемого атрибута
value Обязательный. Указывает значение устанавливаемого атрибута


Пример 1

Следующий фрагмент кода загружает "books_ns.xml" в xmlDoc, используя
loadXMLDoc()
, и добавляет атрибут "edition" к первому элементу <book>:


Пример

xmlDoc=loadXMLDoc("books_ns.xml");

x=xmlDoc.getElementsByTagName("book")[0];
ns="http://okitgo.ru/edition/";

x.setAttributeNS(ns,"edition","первое");

document.write(x.getAttributeNS(ns,"edition"));

Вывод:

первое

Попробуйте сами »


Пример 2

Следующий фрагмент кода загружает "books_ns.xml" в xmlDoc, используя
loadXMLDoc()
, и изменяет значение "lang" первого элемента <title>:


Пример

xmlDoc=loadXMLDoc("books_ns.xml");

x=xmlDoc.getElementsByTagName("title")[0];
ns="http://okitgo.ru/children/";

x.setAttributeNS(ns,"c:lang","italian");

document.write(x.getAttributeNS(ns,"lang"));

Вывод:

italian

Попробуйте сами »


Метод setAttributeNode()


Справка по Объекту Элемент Все Методы Элемента


Определение и Использование

Метод setAttributeNode() добавляет новый атрибутивный узел.

Если атрибут с таким именем уже существует у элемента, он заменяется на новый. Если новый атрибут заменяет существующий атрибут, возвращается замененный атрибут, в противном случае метод возвращает null.

Синтаксис

elementNode.setAttributeNode(att_node)

Параметр Описание
att_node Обязательный. Указывает устанавливаемый атрибутивный узел


Пример

Следующий фрагмент кода загружает "books.xml" в xmlDoc, используя
loadXMLDoc()
, and adds a "edition" attribute to all <book>
elements:


Пример

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName(‘book’);
var newatt;

for (i=0;i<x.length;i++)
{
newatt=xmlDoc.createAttribute("edition");
newatt.value="первое";
x[i].setAttributeNode(newatt);
}

//Вывести значения всех атрибутов "edition"
for (i=0;i<x.length;i++)
{
document.write("Издание: ");
document.write(x[i].getAttribute("edition"));
document.write("");
}

Вывод:

Издание: первое
Издание: первое
Издание: первое
Издание: первое

Попробуйте сами »


Справка по Объекту Элемент Все Методы Элемента