2015-04-29 1 views
1

Я пытаюсь добавить DIV как нижеКак добавить блок содержимого div между двумя другими div, используя только javascript?

 <div id="topheader" class="topheader"> 
      <ul> 
       <li> 
        <a href="#" title="Library">Library</a> 
       </li> 
       <li> 
        <a href="#" title="My Uni">My Uni</a> 
       </li> 
       <li> 
        <a href="#" title="Staff Intranet">Staff Intranet</a> 
       </li> 
      </ul> 
     </div> 

между двумя другими дивами

<div id="w3"> 
.... new div to be here ... 
<div id="head"> 

Мне нужно, чтобы это сделать с помощью JavaScript или motools и не JQuery.

+0

Это работает для меня, используя motools. 'var myEl = new Element ('div', {id: 'new_div_id'}). Inject ('w3', 'after');' – LolWalid

+1

Для завершения, без использования Mootools, вы также можете выполнить это с помощью native 'element.insertAdjacentHTML()', который в этом случае будет выглядеть как 'document.getElementById (" w3 "). insertAdjacentHTML (" afterend ", newDiv);' (где 'newDiv' - это строка, содержащая HTML в вашем примере). – Thriggle

ответ

2

Вы можете сделать это с помощью inject

var headEle = document.id('head'); 

new Element('div', { 
    "class": 'topheader', 
    "id": 'topheader', 
    html: '<ul><li><a href="#" title="Library">Library</a></li><li><a href="#" title="My Uni">My Uni</a></li><li><a href="#" title="Staff Intranet">Staff Intranet</a></li></ul>' 
}).inject(headEle, 'before'); 

Вот рабочая JS FIDDLE

+0

Он копирует его в нужное место; однако он все еще остается в старом месте. Можно ли удалить из старого местоположения одновременно? –

+0

На самом деле это не так. Моя ошибка :) –

+0

Этот фрагмент кода создает новый div динамически и вводит его. поэтому, если у вас уже есть div, то вы, вероятно, должны использовать этот объект вместо создания нового. то он не сохранит там старую копию. –

2
var div_before = document.getElementById("w3"); 
var new_div = document.getElementById("topheader"); 
div_before.parentNode.insertBefore(new_div, div_before.nextSibling); 

jsfiddle DEMO

Смежные вопросы