首页  >  问答  >  正文

javascript - dom用removechild删除时要先获取父元素,而insertbefore时就不用过去父元素。而可以直接使用

雷雷

雷雷
学习ing学习ing2658 天前810

全部回复(2)我来回复

  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-14 10:55:43

    DOM API 就是这么设计的。

    body 就是 h1 的父元素。

    虽然 h1 是一个 Element,但是这个方法都是继承了 Node

    Node.insertBefore()

    语法

    var insertedElement = parentElement.insertBefore(newElement, referenceElement);
            |                   |                       |               |
        被插入的节点             |                  被插入的节点          |
                           新插入节点的父节点                             |
                                                              插入newElement之前的那个节点               
    

    参数和返回值

    • insertedElement 是被插入的节点,即 newElement

    • parentElement 是新插入节点的父节点

    • newElement 是被插入的节点

    • referenceElement 在插入 referenceElement 在插入 newElement 之前的那个节点


    再看看 Node.removeChild

    语法

    let oldChild = node.removeChild(child);
    
    // OR
    
    element.removeChild(child);
    

    参数

    • child 是要移除的那个子节点.

    • node 是 child 的父节点.

    • oldChild 保存对删除的子节点的引用. oldChild === child.

    回复
    0
  • 迷茫

    迷茫2017-06-14 10:55:43

    body也是一个元素。

    回复
    0
  • 取消回复