2015-04-29 48 views
1

我想在加一个div像下面如何在两个其他div之间使用javascript添加div内容块?

 <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

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

我需要之间的这种使用JavaScript或motools而不是jQuery的完成。

+0

这个工作我使用motools为做到这一点。 。 'VAR MYEL =新元素( '格',{ID: 'new_div_id'})注入( 'W3', '后');' – LolWalid

+1

完成的缘故,而无需使用Mootools的,你也可以用做到这一点在本例中看起来像'document.getElementById(“w3”)的本地'element.insertAdjacentHTML()'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

相关问题