Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.08.2018, 15:51
Аватар для Globus
Аспирант
Отправить личное сообщение для Globus Посмотреть профиль Найти все сообщения от Globus
 
Регистрация: 04.03.2014
Сообщений: 76

Вставить html-код после элемента с определенным id
Добрый день! Есть код

<div id="n">1</div>
<div id=z">2</div>


Пытаюсь сделать так, чтобы при открытии/загрузке страницы автоматически после блока с id="n" добавлялся еще один блок <div></div>.
В итоге получился примерно такой вариант и даже работает:

setTimeout(function() { document.getElementById("n").after('<div>00</div>'); }, 0);


Но на выходе получается так
1
<div>00</div>
2


То есть выводится не html а просто текст, а надо, чтобы html срабатывал и было так:

1
00
2


Подскажите, пожалуйста, как решить? Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 02.08.2018, 16:01
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,800

https://learn.javascript.ru/modifyin...d-insertbefore
Ответить с цитированием
  #3 (permalink)  
Старый 02.08.2018, 16:42
Аватар для Globus
Аспирант
Отправить личное сообщение для Globus Посмотреть профиль Найти все сообщения от Globus
 
Регистрация: 04.03.2014
Сообщений: 76

Сообщение от Nexus Посмотреть сообщение
https://learn.javascript.ru/modifyin...d-insertbefore
Это как раз то, что мне нужно, спасибо! Только вариант выводит html после или перед элементом относительно его порядка, а не id.

<ol id="list">
  <li>0</li>
  <li>1</li>
  <li>2</li>
  <li id="nn">3</li>
  <li>4</li>
  <li>5</li>
</ol>


var newLi = document.createElement('li');
  newLi.innerHTML = 'Привет, мир!';

  list.insertBefore(newLi, list.children[1]);


Как можно обратиться к list.children[1] не по номеру, а по id?
Ответить с цитированием
  #4 (permalink)  
Старый 02.08.2018, 16:49
Профессор
Отправить личное сообщение для Artur_Hopf Посмотреть профиль Найти все сообщения от Artur_Hopf
 
Регистрация: 13.03.2018
Сообщений: 278

<script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<div id="n">1</div>
<div id=z">2</div>

<ol id="list">
  <li>0</li>
  <li>1</li>
  <li>2</li>
  <li id="nn">3</li>
  <li>4</li>
  <li>5</li>
</ol>
<script>
$('#n').after(function() {
  return '<div>' + 123 + '</div>';
 });

$('#nn').after(function() {
  return '<li>Приветик</li>';
 });
</script>

Последний раз редактировалось Artur_Hopf, 02.08.2018 в 16:53.
Ответить с цитированием
  #5 (permalink)  
Старый 02.08.2018, 16:54
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

list.insertBefore(newLi, list.querySelector('#nn'));
Ответить с цитированием
  #6 (permalink)  
Старый 02.08.2018, 16:56
Аватар для Globus
Аспирант
Отправить личное сообщение для Globus Посмотреть профиль Найти все сообщения от Globus
 
Регистрация: 04.03.2014
Сообщений: 76

Сообщение от j0hnik Посмотреть сообщение
list.insertBefore(newLi, list.querySelector('#nn'));
Благодарю, оно самое!
Ответить с цитированием
  #7 (permalink)  
Старый 02.08.2018, 16:57
Аватар для Globus
Аспирант
Отправить личное сообщение для Globus Посмотреть профиль Найти все сообщения от Globus
 
Регистрация: 04.03.2014
Сообщений: 76

Artur_Hopf, спасибо, тоже работает! Но искал на чистом js без jquery, как раз как подсказал j0hnik
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка HTML элемента на существование MCTrane Общие вопросы Javascript 10 26.02.2014 20:51
Не получается вставить код js в HTML garmoni Элементы интерфейса 3 05.09.2013 05:56
вывести html код страницы в div djonA Общие вопросы Javascript 3 13.05.2013 20:01
Скопировать HTML код с одного id в другой lamer Общие вопросы Javascript 17 08.01.2013 01:42
Текст после элемента Vulkan Events/DOM/Window 3 15.10.2010 11:59