使用`insertBefore()`时为什么需要引用元素的父元素?

时间:2013-07-29 18:25:57

标签: javascript dom

如果我想在newEl之前插入refEl,我必须使用

refEl.parentNode.insertBefore(newEl, refEl);

为什么w3c决定呢?

对我来说,下面两个选项更有意义

  • insertBefore只期待一个论点:

    refEl.insertBefore(newEl);  /* or */  newEl.insertBefore(refEl);
    
  • 只有documentinsertBefore

    document.insertBefore(newEl, refEl);
    

为什么w3c要我们指定冗余的父元素?

也许我没有看到任何优势?

1 个答案:

答案 0 :(得分:0)

如果是链接列表,则需要父级更改“下一个”链接。仅使用单个节点,它就没有足够的信息来完成操作。