Javascript.RU

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

Есть вопрос по parentElem.appendChild(elem)
Итак, есть вот такой код: https://jsfiddle.net/uee5q07g/

Создаю новый элемент и добавляю в него содержимое:

var newSpan = document.createElement('span');
newSpan.innerHTML = '[ открыть ]';

Собираю все нужные мне элементы:
var elem = document.getElementsByClassName('heading');

перебираю их и добавляю новый элемент в в конец дочерних элементов
elem[i].appendChild(newSpan);

Результат Вы видите!
"открыть" появляется почему-то в последнем элементе, хотя console.log показывает совсем другое. Что я делаю не правильно???

Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 17.01.2017, 11:47
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

ArtemBielykh,
elem[i].appendChild(newSpan.cloneNode(true));
Ответить с цитированием
  #3 (permalink)  
Старый 17.01.2017, 11:47
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,227

Сообщение от ArtemBielykh
"открыть" появляется почему-то в последнем элементе
Так и должно быть.
Если тебе нужно много "открыть" - их нужно делать в цикле для каждого элемента.
Ответить с цитированием
  #4 (permalink)  
Старый 17.01.2017, 11:49
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

ArtemBielykh,
Дело в том, что вы создали один элемент, и appendChild каждый раз размещает именно его в указанном месте, забирая с прежнего.
Смотрите https://learn.javascript.ru/modifyin...ов-clonenode
Ответить с цитированием
  #5 (permalink)  
Старый 17.01.2017, 11:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

ArtemBielykh,
вы создали один элемент, и таскали его разным местам, вместо создания нескольких
или цикл выше в строку 2 из 6 перенести, либо добавлять клон в строке 7
elem[i].appendChild(newSpan.cloneNode(true));
Ответить с цитированием
  #6 (permalink)  
Старый 17.01.2017, 11:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123



destus,
ksa,
Dilettante_Pro,
рони,
Ответить с цитированием
  #7 (permalink)  
Старый 17.01.2017, 11:55
Интересующийся
Отправить личное сообщение для ArtemBielykh Посмотреть профиль Найти все сообщения от ArtemBielykh
 
Регистрация: 17.01.2017
Сообщений: 13

Сообщение от destus Посмотреть сообщение
ArtemBielykh,
elem[i].appendChild(newSpan.cloneNode(true));
Спасибо!
Ответить с цитированием
  #8 (permalink)  
Старый 17.01.2017, 13:30
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,227

рони, я второй нах!
Ответить с цитированием
  #9 (permalink)  
Старый 17.01.2017, 14:22
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

ksa,
Странно, что laimas и Rise не подтянулись
Ответить с цитированием
  #10 (permalink)  
Старый 17.01.2017, 15:09
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,227

Dilettante_Pro, мы доминируем.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Всплытие событий или что то не так... Кирюха =) jQuery 6 30.03.2013 12:56
Теоретический вопрос. gods33 (X)HTML/CSS 10 16.12.2010 23:49
Вопрос по Google API mcpro Общие вопросы Javascript 0 01.12.2010 10:07
Вопрос о циклических ссылках (JavaScript -> Dom -> JavaScipt) BlueIce Events/DOM/Window 10 17.02.2010 21:58
Есть вопрос по Javascript JsLoveR Opera, Safari и др. 1 23.12.2009 01:04