摘要:示例代码在内容末尾插入节点运行前运行后如果要插入的节点已经在文档中则先剪切再插入。运行前运行后如果的参数是一个节点对象,则插入的标签的内容会正常运行。运行前运行后更多本知识块的和源文件在上,点击这里查看参考资料和有什么区别
Node.prototype.appendChild
W3C 标准写于: 2016-11-19 | 更新于: 2017-1-3
WHATWG: appendChild
定义和用法节点的appendChild方法用于在内容末尾插入节点,如果要插入的节点已经在文档中则先剪切再插入。
语法:node.appendChild()
参数:节点对象(a node object)
返回值:插入的节点对象在文档中的引用
属性描述appendChild方法可枚举可重写可配置。
// Object.getOwnPropertyDescriptor(Node.prototype, "appendChild") 的结果如下: var result = { configurable: true, enumerable: true, writable: true, value: Node.prototype.appendChild }注意事项
如果appendChild的参数是一个script节点对象,则插入的script标签的内容会正常运行。但只有第一次插入才会运行。
示例代码在内容末尾插入节点
// appendChild.js var wrap = document.querySelector("js-wrap"), newP = document.createElement("p"); newP.textContent = "jszhou"; wrap.appendChild(newP);
wrapwrapjszhou
如果要插入的节点已经在文档中则先剪切再插入。
// cut.js var $ = document.querySelector.bind(document), outer = $(".js-outer"), wrap = $(".js-wrap"); wrap.appendChild(outer);
outerwrapwrapouter
如果appendChild的参数是一个script节点对象,则插入的script标签的内容会正常运行。但只有第一次插入才会运行。
// appendScript.js var wrap = document.querySelector(".js-wrap"), newScript = document.createElement("script"); newScript.innerHTML = "wrap.append("jszhou")"; wrap.appendChild(newScript);
wrapwrap jszhou
把文档片段节点插入文档中是先剪切文档片段节点的所有子节点然后再一起插入文档中。文档片段节点也可以插入文档片段节点中,过程和插入文档中是一样的。
// documentFragment.js var wrap = document.querySelector(".js-wrap"), docFragWrap = document.createDocumentFragment(), docFrag = document.createDocumentFragment(), h2 = document.createElement("h2"), p = document.createElement("p"); h2.textContent = "head"; docFragWrap.appendChild(h2); p.textContent = "content"; docFrag.appendChild(p); docFragWrap.appendChild(docFrag); console.log(docFrag.childNodes.length); // 0 wrap.appendChild(docFragWrap); console.log(docFragWrap.childNodes.length); // 0
更多head
content
本知识块的markdown和demo源文件在github上,点击这里查看
参考资料https://developer.mozilla.org...
http://www.w3schools.com/jsre...
element.innerHTML和appendChild有什么区别
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/80980.html
摘要:所有我们不熟悉或者没有掌握的知识皆可称之为知识盲区,有知识盲区并不可怕,针对知识盲区去学习即可。只有这样,我们才会准确知道自己的知识盲区所处何处,以及发现更多的知识盲区。节点对应的对象是,其他的具体节点对象全都是继承自对象。 前端时间在部门内进行分享,准备素材时偶然发现下面的一个现象,因为和当时分享的主题无关,就先记下来了,事后重新审视,并把一些思考记录如下: 一、问题 HTML: ...
摘要:前段时间重构一个页面,页面中存在通过第三方代码插入的动态广告正常的产品需求,上线后发现第三方的广告资源存在重复请求的问题。所以,同一个请求会触发两次的原因页面加载时渲染元素会触发第一次请求,执行代码导致重新渲染触发第二次请求。 前段时间重构一个页面,页面中存在通过第三方JavaScript代码插入的动态广告(正常的产品需求),上线后发现第三方的广告资源存在重复请求的问题。由于控制广告插...
摘要:前段时间重构一个页面,页面中存在通过第三方代码插入的动态广告正常的产品需求,上线后发现第三方的广告资源存在重复请求的问题。所以,同一个请求会触发两次的原因页面加载时渲染元素会触发第一次请求,执行代码导致重新渲染触发第二次请求。 前段时间重构一个页面,页面中存在通过第三方JavaScript代码插入的动态广告(正常的产品需求),上线后发现第三方的广告资源存在重复请求的问题。由于控制广告插...
摘要:前言本章我们要讲解的是五大原则语言实现的第篇,开闭原则。该代码有一个限制,就是如果再增加一个类型的话,那就需要再次修改里的条件语句,这明显违反了开闭原则。关于本文本文转自大叔的深入理解系列。 前言 本章我们要讲解的是S.O.L.I.D五大原则JavaScript语言实现的第2篇,开闭原则OCP(The Open/Closed Principle )。 开闭原则的描述是: Softwar...
阅读 1810·2021-11-11 16:54
阅读 2033·2019-08-30 15:56
阅读 2348·2019-08-30 15:44
阅读 1215·2019-08-30 15:43
阅读 1833·2019-08-30 11:07
阅读 790·2019-08-29 17:11
阅读 1435·2019-08-29 15:23
阅读 2978·2019-08-29 13:01