Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.02.2014, 14:22
Аспирант
Отправить личное сообщение для Иззет Посмотреть профиль Найти все сообщения от Иззет
 
Регистрация: 22.11.2013
Сообщений: 39

Управление html кодом
Здравствуйте, есть ли способ управления дочерними элементами div-a на подобие управления элементами в массиве? К примеру, блок с ссылками. Возможно ли, чтобы javascript перебирал эти ссылки в цикле, как в случае с массивом?
Ответить с цитированием
  #2 (permalink)  
Старый 06.02.2014, 14:46
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от Иззет
Возможно ли, чтобы javascript перебирал эти ссылки в цикле, как в случае с массивом?
А як же!

<div>
	<a href='#'>Один</a>
	<a href='#'>Два</a>
	<a href='#'>Три</a>
</div>
<script type="text/javascript">
var o=document.getElementsByTagName('div')[0].getElementsByTagName('a');
for (var i=0; i<o.length; i++) alert(o[i].innerHTML);
</script>
Ответить с цитированием
  #3 (permalink)  
Старый 06.02.2014, 15:27
Аспирант
Отправить личное сообщение для Иззет Посмотреть профиль Найти все сообщения от Иззет
 
Регистрация: 22.11.2013
Сообщений: 39

Большое спасибо, можете пояснить что значит [0] там, где идёт выборка дива? Обозначение массива?
Ответить с цитированием
  #4 (permalink)  
Старый 06.02.2014, 15:46
Аватар для Makarov
Профессор
Отправить личное сообщение для Makarov Посмотреть профиль Найти все сообщения от Makarov
 
Регистрация: 08.07.2013
Сообщений: 212

Все очень просто, функция document.getElementsByTagName возвращает массив, сколько бы она элементов ни нашла. Не найдет ни одного, вернет пустой. Найдет ровно один элемент - вернет массив из одного элемента. У самого массива метода getElementsByTagName нету, поэтому при попытке обратиться к нему интерпретатор на тебя ругнется, можешь попробовать. А вот у элемента массива такое свойство есть поэтому мы к нему и обращаемся
Ответить с цитированием
  #5 (permalink)  
Старый 06.02.2014, 16:20
Аспирант
Отправить личное сообщение для Иззет Посмотреть профиль Найти все сообщения от Иззет
 
Регистрация: 22.11.2013
Сообщений: 39

В моём случае требуется достать элементы из конкретного блока с id. Попробовал так :
var o=document.getElementById('dots')[0].getElementsByTagName('a');


Но переменная пуста. В чем проблема ?
Ответить с цитированием
  #6 (permalink)  
Старый 06.02.2014, 16:24
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от Иззет
В чем проблема ?
В непонимании тобой того, что ты используешь. Даже пример тестовый не делаешь, кидаешь огрызок...
getElementById() не возвращает массива... Он возвращает ссылку на конкретный ДОМ элемент.
Ответить с цитированием
  #7 (permalink)  
Старый 06.02.2014, 16:25
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

<div id='dots'>
	<a href='#'>Один</a>
	<a href='#'>Два</a>
	<a href='#'>Три</a>
</div>
<script type="text/javascript">
var o=document.getElementById('dots').getElementsByTagName('a');
for (var i=0; i<o.length; i++) alert(o[i].innerHTML);
</script>
Ответить с цитированием
  #8 (permalink)  
Старый 06.02.2014, 16:48
Аспирант
Отправить личное сообщение для Иззет Посмотреть профиль Найти все сообщения от Иззет
 
Регистрация: 22.11.2013
Сообщений: 39

Теперь всё понятно, спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парсинг HTML -> DOM в нормальных браузерах (таки проблема) FINoM Events/DOM/Window 9 19.01.2014 17:38
нужно js сделать с тайм аутом в 15 часов и склеить его с html кодом stewie6630 Работа 2 20.10.2013 21:49
html картинка кодом al456 (X)HTML/CSS 3 17.01.2013 10:09
Типографика и HTML код Manjuriano (X)HTML/CSS 3 23.11.2011 12:22
Создание HTML страниц Sportlife89 (X)HTML/CSS 7 03.06.2011 15:04