我想在指定节点后添加一个节点,但是好像没有insertafter 或者 insertbehind,不知道用什么好的方法解决?不会是让我算出后一个的节点吧

解决方案 »

  1.   

    自己写一个呗:
    function insertAfter(newNode, referenceNode)
    {
       var parentNode = referenceNode.parentNode;   if (referenceNode.nextSibling)
       {
          parentNode.insertBefore(newNode, referenceNode.nextSibling);
       }
       else
          parentNode.appendChild(newNode);
    }
      

  2.   

    if(typeof(HTMLElement)!="undefined" && !window.opera)
    {
      HTMLElement.prototype.insertAdjacentHTML=function(where, html)
      {
        var e=this.ownerDocument.createRange();
        e.setStartBefore(this);
        e=e.createContextualFragment(html);
        switch (where)
        {
          case 'beforeBegin': this.parentNode.insertBefore(e, this);break;
          case 'afterBegin': this.insertBefore(e, this.firstChild); break;
          case 'beforeEnd': this.appendChild(e); break;
          case 'afterEnd':
            if(!this.nextSibling) this.parentNode.appendChild(e);
            else this.parentNode.insertBefore(e, this.nextSibling); break;
        }
      };
    };使用这个 insertAdjacentHTML 你想插在哪就插在哪!