Добавляем...


document.all[]
Нравится вам это или нет, но под объектную модель Internet Explorer, обсуждавшуюся в предыдущей главе, созданы огромные объемы программного кода. Вероятно, самым популярным объектом этой модели является document.all[ ]. Указанная коллекция включает все элементы (X)HTML, содержащиеся в документе, в порядке их чтения. Поскольку многие приложения JavaScript создавались таким образом, чтобы использовать преимущества именно этой конструкции, вы можете поинтересоваться, как это соотносится с моделью DOM. Откровенно говоря, никак. Модель DOM не поддерживает такой конструкции, но в поддерживающих DOM браузерах ее достаточно просто имитировать. Например, в рамках DOM можно использовать метод document. getElementsByTagName(), позволяющий добраться до всех элементов в документе. С помощью этого метода можно, например, установить свойство экземпляра document.all равным document.getElementsByTagName("*"), если коллекции all[ ] не существует. Следующий пример иллюстрирует эту идею.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Проверка</title>
<meta http-equiv="content-type" content="text/html; " />
</head>
<body>
<!-- комментарий 1 -->
<h1>Это заголовок</h1>
<hr />
<p id="test">Это тест<em>это просто проверка</em>!</p>
<a href="http://www.yahoo.com">пример ссылки</a>
<p>Еще один абзац</p>
<badtag>плохо, очень плохо!</badtag>
<script type="text/javascript">
<!--
if (!document.all)
document.all = document.getElementsByTagName("*");
var allTags ="Document.all.length="+document.all.length+"\n";
for (i = 0; i < document.all.length; i++)
allTags += document.all[i].tagName + "\n";
alert(allTags);
alert("TПроверка All: "+document.all['test'].innerHTML);
//-->
</script>
</body>
</html>

Создаваемая в этом примере коллекция не является идеальной заменой коллекции all[ ] для Mozilla и других поддерживающих DOM браузеров, поскольку коллекция аll[ ] от Microsoft включает комментарии, а также как начальные, так и завершающие дескрипторы неизвестных элементов.


добавить комментарий
(без перезагрузки и регистрации)


10 случайных разделов

Что ищем на сайте ?


Примеры кода на сайте







@ 2008-2011 Amber
При использовании материалов ссылка на сайт обязательна
Яндекс.Метрика