使用javascript在DOM中注入DIV容器

使用javascript在DOM中注入DIV容器,javascript,html,Javascript,Html,我想知道如何使用javascript在DOM中的元素周围创建一个容器?我以前在html中成功地注入了DIVs straght,但是需要将几个元素作为目标,并将它们放在容器中,并且不确定如何操作 这是html: <div class="menubar"> <div class="searching myClass yourClass"></div> <ul class="navVoordelen"> <li></li

我想知道如何使用javascript在DOM中的元素周围创建一个容器?我以前在html中成功地注入了DIVs straght,但是需要将几个元素作为目标,并将它们放在容器中,并且不确定如何操作

这是html:

<div class="menubar">
  <div class="searching myClass yourClass"></div>
  <ul class="navVoordelen">
    <li></li>
    <li></li>
  </ul>
  <a class="navLogo"></a>
  <div class="langsel"></div>
  <a class="navLogin"></a>
  <a class="navLogin"></a>
  <a class="navLogin"></a>
  <ul class="newnav clearfix animated">
    <li></li>
    <li></li>
  </ul>
</div>

我需要将容器放置在父菜单栏DIV下面,并在第二个UL类之前结束它。这就是我希望它看起来的样子:

<div class="menubar">
  <div div="container">
    <div class="searching myClass yourClass"></div>
    <ul class="navVoordelen">
      <li></li>
      <li></li>
    </ul>
    <a class="navLogo"></a>
    <div class="langsel"></div>
    <a class="navLogin"></a>
    <a class="navLogin"></a>
    <a class="navLogin"></a>
  </div>
  <ul class="newnav clearfix animated">
    <li></li>
    <li></li>
  </ul>
</div>


您可以在javascript中使用以下代码

var div = '<div class="container">';
var closediv = '</div>';
theParent =document.getElementsByClassName("menubar");
theParent.insertBefore(div, theParent.firstChild);

document.getElementsByClassName("menubar").appendChild(closediv);
var div='';
var closediv='';
theParent=document.getElementsByClassName(“菜单栏”);
插入前的家长(div,家长的第一个孩子);
document.getElementsByClassName(“菜单栏”).appendChild(closediv);

我建议采用以下方法:

函数wrapolprevious(){
//这是通过函数.prototype.call()分配的
//方法,稍后:
var_self=这个,
//创建元素:
div=document.createElement('div');
//将“id”分配给已创建的-:
div.id='demo';
//在_self/this之前插入已创建的
//元素,使用insertBefore():
_self.parentNode.insertBefore(div,_self);
//虽然已创建-具有以前的同级:
while(div.previousSibling){
//我们在第一个孩子之前插入上一个兄弟姐妹
//元素的(有效地预先设置元素
//对于已创建的-:
div.insertBefore(div.previousSibling,div.firstChild);
}
}
//调用函数,使用(如前所述)
//Function.prototype.call()来分配指定的
//
    作为函数的“this”(使用 //document.querySelector()返回特定节点: wrapAllPrevious.call(document.querySelector('ul.newnav.clearfix.animated');
#演示{
边框:2px实心#f00;
}
#演示::之前{
内容:“新添加的元素。”;
}


您输入了一个拼写错误
div div=“container”
您是否使用了诸如
jquery
prototype
等LIB?或者仅仅使用vanilla JS。如果我们知道这一点,将更容易回答。:)嗨!我只能不幸地使用vanilla JS。不,你不能用这种方式附加开始和结束标记。