Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / DHTML /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Узлы дерева документа - Программирование от RIN.RU
Узлы дерева документа



Неупорядоченный список узлов: интерфейс NamedNodeMap


Поддержка :Для XML-документов соответствует стандарту (XMLDOMNamedNodeMap); для HTML-документов поддерживается в виде коллекций.
Соответствует стандарту.



Интерфейс NamedNodeMap реализует неупорядоченные списки узлов, доступ к которым осуществляется по имени узла. Эти списки также являются живыми, т. е. любое изменение документа влечет автоматическое изменение всех связанных с ним списков.


DOM допускает возможность доступа к элементам списка NamedNodeMap по их номеру в списке, но подчеркивает, что эта возможность не означает упорядоченности списка по какому-либо признаку.


Этот интерфейс имеет единственное свойство length, возвращающее количество узлов в списке, и несколько методов, обеспечивающих доступ к элементам списка:


Методы интерфейса NamedNodeMap
СвойствоМодельОписание
getNamedItemDOM 1Возвращает узел с заданным именем.
getNamedItemNSDOM 2Возвращает узел с заданным именем с учетом пространства имен.
itemDOM 1Возвращает узел с заданным номером.
removeNamedItemDOM 1Удаляет узел с заданным именем.
removeNamedItemNSDOM 2Удаляет узел с заданным именем с учетом пространства имен.
setNamedItemDOM 1Добавляет узел в список.
setNamedItemNSDOM 2Добавляет узел в список с учетом пространства имен.



Свойство length


Синтаксис:  список.length
Изменяемое: нет


Поддержка :Cоответствует стандарту.
Соответствует стандарту.



Свойство length возвращает количество элементов в данном списке. Допустимые индексы элементов списка лежат в диапазоне от 0 до length-1 включительно. Следующий пример выводит на экран количество атрибутов элемента BODY:



alert(document.body.attributes.length);





Метод getNamedItem


Синтаксис:  список.getNamedItem(name)
Аргументы: name - выражение типа DOMString
Результат: узел Node или null
Исключения: нет


Поддержка :Только для XML-документов.
Соответствует стандарту.



Метод getNamedItem возвращает элемент списка узлов с заданным именем name в качестве результата. Если узла с таким именем в списке нет, то возвращается null. Пример:



alert(document.body.attributes.getNamedItem("text").nodeValue);





В Internet Explorer этот пример должен быть записан любым из двух следующих способов:





alert(document.body.attributes["text"].nodeValue);
alert(document.body.attributes("text").nodeValue);





Метод getNamedItemNS


Синтаксис:  список.getNamedItemNS(namespaceURI, localName)
Аргументы: namespaceURI, localName - выражения типа DOMString
Результат: узел Node или null
Исключения: нет


Поддержка :Нестандартная поддержка для XML-документов (см. прим.).
Не поддерживается.



Метод getNamedItemNS возвращает элемент списка узлов с заданным именем в качестве результата. Если узла с таким именем в списке нет, то возвращается null. Этот метод предназначен для XML-документов и для HTML-документов может не поддерживаться. Аргумент namespaceURI задает URI пространства имен, а localName - локальное имя узла.


Примечание. В Microsoft XML DOM этот метод имеет вид getQualifiedItem(localName, namespaceURI).


Метод item


Синтаксис:  список.item(index)
Аргументы: index - числовое выражение
Результат: узел Node или null
Исключения: нет


Поддержка :Соответствует стандарту.
Соответствует стандарту.



Метод item возвращает элемент списка узлов с заданным индексом в качестве результата. Если индекс выходит за пределы диапазона элементов списка, то возвращается null. Пример:



alert(document.body.attributes.item(0).nodeName);





JavaScript позволяет нам записать обращение к элементу списка более компактно. Предыдущий оператор может выглядеть так:



alert(document.attributes[0].nodeName);





Internet Explorer поддерживает еще одну форму обращения к элементу списка, а именно:



alert(document.attributes(0).nodeName);





Однако, эта форма является нестандартной, и ей лучше не пользоваться.


Метод removeNamedItem


Синтаксис:  список.removeNamedItem(name)
Аргументы: name - выражение типа DOMString
Результат: узел Node
Исключения: NOT_FOUND_ERR, NO_MODIFICATION_ALLOWED_ERR


Поддержка :Только для XML-документов.
Соответствует стандарту.



Метод removeNamedItem удаляет элемент списка узлов с заданным именем name и возвращает его в качестве результата. Если удаляемый узел является атрибутом элемента, имеющим значение по умолчанию, то сразу после его удаления он вновь появляется в списке со значением по умолчанию. Пример:



document.body.attributes.removeNamedItem("text");





Метод removeNamedItemNS


Синтаксис:  список.removeNamedItemNS(namespaceURI, localName)
Аргументы: namespaceURI, localName - выражения типа DOMString
Результат: узел Node
Исключения: NOT_FOUND_ERR, NO_MODIFICATION_ALLOWED_ERR


Поддержка :Нестандартная поддержка для XML-документов (см. прим.).
Не поддерживается.



Метод removeNamedItemNS удаляет элемент списка узлов с заданным именем и возвращает его в качестве результата. Если удаляемый узел является атрибутом элемента, имеющим значение по умолчанию, то сразу после его удаления он вновь появляется в списке со значением по умолчанию. Этот метод предназначен для XML-документов и для HTML-документов может не поддерживаться. Аргумент namespaceURI задает URI пространства имен, а localName - локальное имя узла.


Примечание. В Microsoft XML DOM этот метод имеет вид removeQualifiedItem(localName, namespaceURI).


Метод setNamedItem


Синтаксис:  список.setNamedItem(arg)
Аргументы: arg - выражение типа Node
Результат: узел Node или null
Исключения: WRONG_DOCUMENT_ERR, NO_MODIFICATION_ALLOWED_ERR, INUSE_ATTRIBURE_ERR


Поддержка :Только для XML-документов.
Соответствует стандарту.



Метод setNamedItem добавляет элемент arg в данный список узлов. Если узел с таким именем в списке есть, то он заменяется на arg и возвращается в качестве результата. Если узла с таким именем в списке нет, то arg вставляется в список и возвращается null. Пример:



var attr = document.createAttribute("text");
attr.nodeValue = "red";
document.body.attributes.setNamedItem(attr);





Метод setNamedItemNS


Синтаксис:  список.setNamedItemNS(arg)
Аргументы: arg - выражение типа Node
Результат: узел Node или null
Исключения: WRONG_DOCUMENT_ERR, NO_MODIFICATION_ALLOWED_ERR, INUSE_ATTRIBURE_ERR


Поддержка :Не поддерживается.
Не поддерживается.



Метод setNamedItemNS добавляет элемент arg в данный список узлов. Если узел с таким именем в списке есть, то он заменяется на arg и возвращается в качестве результата. Если узла с таким именем в списке нет, то arg вставляется в список и возвращается null. Этот метод предназначен для XML-документов и для HTML-документов может не поддерживаться. Он отличается от метода setNamedItem тем, что при вставке узла используются URI его пространства имен, и его локальное имя.

<<<  Назад
 1  2  3 


 8  Комментарии к статье  8 8  Обсудить в чате

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь