appendchild和removechild如果要操作的节点的父节点都是body,是不是就不用提前获取body父节点了。又或者

appendchild和removechild如果要操作的节点的父节点都是body,是不是就不用提前获取body父节点了。又或者父节点不是body就需要提前获取父节点在使用?

阅读 5.3k
5 个回答

父节点要提前获取的。案例是直接用document.body。获取的父节点body。这是DOM0级制定的规范。如果父节点不是body。就的单独获取。因为其他父节点和body不一样。

类似这样

var _body = document.body;
_body.appendChild(document.createElement('h1'));
_body.removechild(docuemnt.getElementsByTagName('h1')[0]);

不存在这样的用法

appendChild(***).removeChild(***)  //肯定报错

至于,你说的,不需要获取操作body父节点,代码都不知道在哪操作,肯定会报错。

Node.removeChild() 方法从DOM中删除一个子节点。返回删除的节点。

语法

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

element.removeChild(child);

child 是要移除的那个子节点.
node 是child的父节点.
oldChild保存对删除的子节点的引用. oldChild === child.

建议你阅读:https://developer.mozilla.org...


Node.appendChild() 方法将一个节点添加到指定父节点的子节点列表末尾。

var child = node.appendChild(child);

node 是要插入子节点的父节点.
child 即是参数又是这个方法的返回值.
示例:

// 创建一个新的段落p元素,然后添加到body的最尾部
var p = document.createElement("p");
document.body.appendChild(p);

建议你阅读:https://developer.mozilla.org...

肯定要先获取父元素才能使用appendChild()啊,不然怎么确定是加在那个元素后面。。。。。。

<body>标签不是还有<head><html>的父节点和兄弟节点的嘛,所以最好获取一下父节点的好

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题