HTML-комментарий как контейнер для данных
2009-05-22
В качестве контейнера для хранения текстовых данных, предназначенных для динамического отображения при помощи JavaScript, можно использовать обычный HTML-комментарий.
Комментарий является самостоятельным DOM-узлом, и его содержимое в виде текста доступно при помощи стандартного свойства любого DOM-узла — nodeValue.
Идентификатора или класса, в отличие от элементов, у комментария нет, поэтому «добраться» до комментария как DOM-узла можно одним из общих для всех DOM-узлов способом — например, при помощи свойств previousSibling / nextSibling соседнего узла.
- Пример
<div id="example">«Опорный» элемент.</div><!--нужные нам данные-->
<script type="text/javascript">/*<![CDATA[*/
var comment = document.getElementById('example').nextSibling;
var data = comment.nodeValue;
alert(data);
/*]]>*/</script>
Данный метод позволяет избежать использования атрибутов не по назначению (например, задействуя атрибут title для хранения данных, не являющихся описанием элемента), использования нестандартных атрибутов, а также необходимости создания скрытых элементов (например, div), содержимое которых, к слову, прекрасно индексируется поисковыми машинами.
В результате:
- HTML-код абсолютно корректен («валиден»),
- нет нежелательных визуальных эффектов (например, отображение содержащего данные атрибута
titleв виде бессмысленной для пользователя всплывающей подсказки), - и исключена индексация служебных данных поисковыми машинами и нежелательный их вывод в результатах поиска.
Комментарии | добавить
спасибо за статью, реально помогло ;)