Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Атрибуты





Узлы DOM, с другой стороны, являются HTML-элементами, у которых есть атрибуты.
Доступ к атрибутам осуществляется при помощи стандартных методов:

  • elem.hasAttribute(name) - проверяет наличие атрибута
  • elem.getAttribute(name) - получает значение атрибута
  • elem.setAttribute(name, value) - устанавливает атрибут
  • elem.removeAttribute(name) - удаляет атрибут

Атрибуты неправильно работают в IE<8 и в IE8 в режиме совместимости:

  • Существуют только методы getAttribute и setAttribute.
  • Фактически, они изменяют DOM-свойства, а не атрибуты.
  • Атрибуты и свойства в IE<8 объединены. Иногда это приводит к странным результатам, но способы работы с атрибутами, о которых мы здесь говорим, работают правильно.

В отличие от свойств, атрибуты:

  • Могут быть только строками.
  • Их имя нечувствительно к регистру(т.к. это HTML)
  • Видны в innerHTML (за исключением старых IE)
  • Все атрибуты элемента можно получить с помощью свойства attributes, которое содержит псевдо-массив объектов типа Attr.

Например, рассмотрим этот HTML-код

<body>

<div about="Elephant" class="smiling"></div>

 

<script>

var div = document.body.children[0];

alert(div.getAttribute('ABOUT')); // (1)

 

div.setAttribute('Test', 123); // (2)

alert(document.body.innerHTML); // (3)

 

var attrs = div.attributes; // (4)

for (var i=0; i<attrs.length; i++) {

alert(attrs[i].name + " = " + attrs[i].value);

}

</script>

</body>

 

При запуске кода выше обратите внимание:

1. getAttribute('ABOUT') использует имя атрибута в верхнем регистре, но это не имеет значения, т.к имена нечувствительны к регистру.

2. Вы можете записать в атрибут строку или другое значение, которое будет превращено в строку. Объект, например, будет автоматически сконвертирован, но у IE<9 с этим проблемы, поэтому придерживайтесь примитивов.

3. В innerHTML появился новый атрибут "test".

4. Коллекция attributes содержит все атрибуты в виде объектов класса Attr со свойствами name и value.

 

Date: 2015-07-17; view: 297; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию