Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как просто перебрать все объекты DOM
 
 автор: Valleri   (28.01.2012 в 11:04)   письмо автору
 
 

Как перебрать все элементы DOM, ПОЛУЧИВ ИХ ИДЕНТИФИКАТОРЫ "ID" или "NAME"?
(даже те которые вставлены JavaScript.)
Могут ли быть на странице элементы без идентификатора и что тогда однозначно специфицирует все элементы на странице?
Ведь в других языках(например Си) для любой переменной есть свой дескриптор.

  Ответить  
 
 автор: cheops   (28.01.2012 в 11:33)   письмо автору
 
   для: Valleri   (28.01.2012 в 11:04)
 

Вы можете получить все элементы воспользовавшись методом getElementsByTagName() объекта document, передав ему вместо имени тэга, строку '*'
var all = document.getElementsByTagName('*')
for(var i=0; i < all.length; i++) alert(all[i].id);
//for(var i=0; i < all.length; i++) alert(all[i].name);

  Ответить  
 
 автор: Valleri   (28.01.2012 в 13:39)   письмо автору
 
   для: cheops   (28.01.2012 в 11:33)
 

Так все интересно, что (*) применили.

Только жаль не все элементы(под элементы) перебирает, не полный обход делает.

У меня этот извилистый путь путаника только и-за того, что не пойму, куда вставляется объект и как получить доступ к нему для манипуляции после выполнения ссылки.(перед каким и после какого тега)
<a href="includes/include-short.htm"     onclick="return hs.htmlExpand(this, { objectType: 'iframe', minWidth:1000} )"> Content in iframe</a>

  Ответить  
 
 автор: АЯС   (28.01.2012 в 13:56)   письмо автору
 
   для: Valleri   (28.01.2012 в 13:39)
 

document.getElementsByTagName ('*') ищет все теги текущего документа.

А ваша функция hs.htmlExpand () явно помещает в <IFRAME> какой-то другой документ.

Вам сначала надо перебрать все ифреймы текущего документа, найти среди них нужный и уже потом "залезать" в документ, который загружен в нужный вам ифрейм.

Т. е. перебирать вам надо будет window.frames [что-то].document.getElementsByTagName ('*') ,
где "что-то" - это либо порядковый индекс ифрейма на странице, либо его имя (значение атрибута NAME) в кавычках.

  Ответить  
 
 автор: Valleri   (28.01.2012 в 14:27)   письмо автору
 
   для: АЯС   (28.01.2012 в 13:56)
 

Со звездочкой наверное я не доглядел.
IFRAME как раз я и вставляю в контейнер из набора <DIV>.
IFRAME мне не надо искать, его содержимое становится содержимым окна, т.е диалога
http://balakhonov-yuriy.ru/demo/css/demo1.html - это не мой пример, но сущность та же.
Мне надо как то получить к нему доступ для манипуляции. К примеру, в jQuery все прицепляется к существующим тегам явно и в библиотеке прописана возможность получения Dialog.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования