Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.07.2011, 11:32
Интересующийся
Отправить личное сообщение для kazimira6 Посмотреть профиль Найти все сообщения от kazimira6
 
Регистрация: 15.02.2011
Сообщений: 12

Странности с insertBefore()
Вот код:
<body>
<div id="wrapper">

<div id="array_numb"><span>1111111111 22222 333333333 444444 555555555 66666666 7777777 8888 9999</span></div>


</div>
<script type="text/javascript">
var but = document.getElementById("array_numb");
but.onclick = function(){
var shell = document.createElement("div");
var childTxt = document.createTextNode("Ura!!!");
shell.appendChild(childTxt);
var x = document.getElementsByTagName("div")[0];
document.body.insertBefore(shell, x);
}
</script>
</body>

Вроде все очень понятно и просто, однако я никак не могу понять, если мы в var x = document.getElementsByTagName("div")[0]; выставляем вместо 0 - 1, то есть выбираем div#array_numb - insertBefore() не работает.( Почему??? Очень нужен ваш совет!)
Ответить с цитированием
  #2 (permalink)  
Старый 04.07.2011, 11:55
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,122

Сообщение от kazimira6
однако я никак не могу понять, если мы в
var x = document.getElementsByTagName("div")[0];
выставляем вместо 0 - 1, то есть выбираем div#array_numb - insertBefore() не работает. Почему???
Потому как в документации написано

Цитата:
Метод insertBefore
Синтаксис:
узел.insertBefore(newChild, refChild)


Метод insertBefore вставляет узел newChild в список детей данного узла перед узлом refChild и возвращает его в качестве результата. Если узел newChild уже был в списке, то он сначала удаляется, а затем добавляется. Пример: сценарий
А элемент

document.getElementsByTagName("div")[1]


не дитё элемента body... Он внук.
Ответить с цитированием
  #3 (permalink)  
Старый 04.07.2011, 12:22
Интересующийся
Отправить личное сообщение для kazimira6 Посмотреть профиль Найти все сообщения от kazimira6
 
Регистрация: 15.02.2011
Сообщений: 12

Спасибо большое, Ksa. Вы - настоящий Профессор!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Странности в Chrome 8.0.552.224 и Opera 11 Akimserg Opera, Safari и др. 1 11.04.2011 22:43
insertBefore выдаёт ошибку и не работает на опере и фоксе SunnyDay Общие вопросы Javascript 3 19.09.2008 12:08