appendChild append insertBefore prepend 2025952编辑
Heaven helps those who help themselves
资深码农+深耕理财=财富自由
欢迎关注
资深码农+深耕理财=财富自由
欢迎关注

appendChild append insertBefore prepend
Created by Marydon on 2017-11-02 17:04
CreateTime--2017年11月2日16:57:59
Author:Marydon
appendChild()与append() insertBefore()与prepend()区别与联系
描述:
1.appendChild()是javascript在父节点最后面插入子节点的方法;
2.append()是jquery在父节点最后面插入子节点的方法;
3.insertBefore()在javascript中:在父节点最前面插入子节点,在jquery中:为指定节点前面插入兄弟节点;
4.prepend()是jquery在父节点最前面插入子节点的方法。
共性:
1.都是用来插入节点的,insertBefore在jquery的应用除外;
2.都是通过操作父节点来完成子节点的插入。
特性:
1.appendChild(tagElement);
tagElement 只能是标签dom对象
dom对象的获取方式:方法一,通过js动态创建标签元素(通常使用);方法二,使用js从页面获取dom对象。
举例:
HTML片段
<body> <div id="test" style="display:none;"></div> </body>
JAVASCRPT
//body标签添加一个子节点 // 方式一 var divElement = document.createElement('div'); divElement.innerHTML = "通过js创建dom对象的方式实现"; document.body.appendChild(divElement); // 方式二 divElement = $('#test').clone()[0]; divElement.id = ''; divElement.style.display = 'block'; divElement.innerHTML = "通过js+jquery从页面获取dom对象的方式实现"; document.body.appendChild(divElement);
2.append(param)
param可以有三种表现形式:HTML片段字符串、文本、通过js创建或获取的dom对象
举例:
//body标签添加一个子节点 // 方式一 var divTagStr = '<div id="test">param为HTML片段字符串</div>' $("body").append(divTagStr); // 方式二 var textStr = "param为文本"; $("body").append(textStr); // 方式三 var divElement = document.createElement('div'); divElement.innerHTML = "param为通过js创建的dom对象"; $("body").append(divElement);
3.insertBefore()
3.1 在javascript中的用法
parentElement.insertBefore(targetElement,positionElement);
targetElement:目标对象,将要插入的元素;
positionElement:插入位置对象,元素将被插入到该对象的前面。
注意:该方法必须通过父节点才能够调用(只能通过父节点来完成对子节点的拼接)。
举例:
HTML片段
<body> <div><p id="duanluo">div中的段落标签p</p></div> </body>
JAVASCRIPT
window.onload = function(){ //id="test"的标签添加一个子节点 var divElement = document.createElement('div'); // appendChild() divElement.innerHTML = "展示insertBefore()方法的用法"; var brotherElement = document.getElementById("duanluo"); brotherElement.parentNode.insertBefore(divElement,brotherElement); }
3.2 在jquery中的用法
$(targetElement).insertBefore(positionElement);
targetElement:目标对象,将要插入的元素;
positionElement:插入位置对象,元素将被插入到该对象的前面
注意:该方法必须通过即将插入的对象进行调用
举例:
window.onload = function(){ var pElement = document.createElement('p'); pElement.innerHTML = "指定节点前插入兄弟节点"; $(pElement).insertBefore('#duanluo'); }
4.prepend(param)
param可以有三种表现形式:HTML片段字符串、文本、通过js创建或获取的dom对象
情形一:
通过父节点添加子节点
1.在父节点最后面添加子节点;
HTML片段
<body> <div id="test"><p>div中的段落标签p</p></div> </body>
JAVASCRIPT
window.onload = function(){ /* id="test"的标签添加一个子节点 */ // appendChild() var divElement = document.createElement('div'); divElement.innerHTML = "使用js的appendChild()方法添加子节点"; document.getElementById("test").appendChild(divElement); // append() var divTag = "<div>使用jquery的append()方法添加子节点</div>"; $("#test").append(divTag); }
2.在父节点最前面添加子节点。
HTML片段
<div id="test"><p>测试insertBefore()</p><p>div中的段落标签p</p></div>
JAVASCRIPT
window.onload = function(){ /* id="test"的标签最前面添加一个子节点 */ // insertBefore() var h1Element = document.createElement('h1'); h1Element.innerHTML = "使用js的insertBefore()方法添加子节点"; var parentElement = document.getElementById("test"); var firstElement = parentElement.firstChild; parentElement.insertBefore(h1Element,firstElement); // prepend() var h1Tag = "<h1>使用jquery的prepend()方法添加子节点</h1>"; $("#test").prepend(h1Tag); }
3.使用jquery实现的另外两种方式
window.onload = function(){ /* 使用jquery的appendTo()添加子节点 */ var divTag = "<div>使用jquery的appendTo()方法添加子节点</div>"; $(divTag).appendTo("#test"); /* 使用jquery的prependTo()添加子节点 */ var h1Tag = "<h1>使用jquery的prependTo()方法添加子节点</h1>"; $(h1Tag).prependTo("#test"); }
3.1 append() prpend() appendTo() prpendTo()用法简述
append()和prpend()都是通过选取确定插入位置的对象来完成插入操作;
语法:$(positionElement).append(targetElement)和$(positionElement).prepend(targetElement);
appendTo()和prpendTo()都是通过选取将要插入的对象来指定插入操作。
语法:$(targetElement).appendTo(positionElement)和$(targetElement).prpendTo(positionElement);
小结:
在父节点最后面添加子节点:
javascirpt使用appendChild(),jquery使用append()或appendTo()
在父节点最前面添加子节点
javascirpt使用insertBefore(),jquery使用prpend()或prpendTo()
情形二:
1.在指定子节点后面添加兄弟节点;
说明:javascript无法实现,jquery可以实现
jquery实现:调用insertAfter()或after()实现
<div id="test"><p id="duanluo">测试jquery指定节点后插入兄弟节点方法实现</p><p>div中的段落标签p</p></div>
window.onload = function(){ var pTag = '<p>指定节点后插入兄弟节点</p>'; // 方法一 $(pTag).insertAfter('#duanluo'); // 方法二 $('#duanluo').after(pTag); }
2.在指定子节点前面添加兄弟节点。
实现:
HTML片段
<div id="test"><p>测试insertBefore()</p><p id="duanluo">div中的段落标签p</p></div>
2.1 js实现:通过父节点添加兄弟节点(曲线救国)
window.onload = function(){ /* 指定位置添加一个兄弟节点 */ // insertBefore() var pElement = document.createElement('p'); pElement.innerHTML = "指定节点前插入兄弟节点"; var parentElement = document.getElementById("test"); var brotherElement = document.getElementById("duanluo"); parentElement.insertBefore(pElement,brotherElement); }
2.2 jquery实现:调用insertBefore()或before()方法实现
window.onload = function(){ var pTag = '<p>指定节点前插入兄弟节点</p>'; // 方法一 $(pTag).insertBefore('#duanluo'); // 方法二 $('#duanluo').before(pTag); }
2.3 insertAfter() insertBefore() after() before()用法简述
insertAfter()和insertBefore()都是通过选取将要插入的对象来指定插入操作;
语法:$(targetElement).insertAfter(positionElement)和$(targetElement).insertBefore(positionElement);
after()和before()都是通过选取确定插入位置的对象来完成插入操作。
语法:$(positionElement).after(targetElement)和$(positionElement).before(targetElement);
与君共勉:最实用的自律是攒钱,最养眼的自律是健身,最健康的自律是早睡,最改变气质的自律是看书,最好的自律是经济独立 。
您的一个点赞,一句留言,一次打赏,就是博主创作的动力源泉!
↓↓↓↓↓↓写的不错,对你有帮助?赏博主一口饭吧↓↓↓↓↓↓
本文来自博客园,作者:Marydon,转载请注明原文链接:https://www.cnblogs.com/Marydon20170307/p/7773158.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?