JS DOM 编程复习笔记 -- insertBefore、insertAfter、append、prepend(七)
今天我们来继续来复习DOM的一些插入方法,insertBefore()
,append()
和prepend()
方法。前面我们只用到过一个appendChild()
方法。我们一个个看语法和示例,包你看完就会。
insertBefore()
insertBefore()
用来在指定的DOM节点前插入DOM元素。
语法:
parentNode.insertBefore(newNode, existingNode);
parentNode
为existingNode
的父节点
existingNode
为已经存在的节点
newNode
为新插入的节点,插入到existingNode
的前面
工具函数
上面原生方法,可能还需要父节点,我们可以进行简单的封装使用
function insertBefore(newNode, existingNode) {existingNode.parentNode.insertBefore(newNode, existingNode);
}
例子
<ul id="menu"><li>产品</li> <li>服务</li><li>联系我</li>
</ul><script>
let menu = document.getElementById('menu');
// 创建一个新的li节点
let li = document.createElement('li');
li.textContent = '首页';// 在第一个元素之前插入它
menu.insertBefore(li, menu.firstElementChild);
</script>
insertAfter()
JS DOM并没有insertAfter()
这样一个方法,不过我们可以使用insertBefore()
进行自己封装
工具函数
function insertAfter(newNode, existingNode) {existingNode.parentNode.insertBefore(newNode, existingNode.nextSibling);
}
把existingNode
的下一个兄弟节点作为参照元素,在其前面进行插入新节点
例子
<ul id="menu"><li>首页</li> <li>服务</li><li>联系我</li>
</ul><script>
let menu = document.getElementById('menu');
// 创建一个新的li节点
let li = document.createElement('li');
li.textContent = '产品';// 在第一个元素之前插入它
menu.insertBefore(li, menu.firstElementChild.nextSibling);
</script>
append()
append()
和我们之前用的appendChild()
方法很相似,在一个父元素的最后插入元素
语法:
parentNode.append(...nodes);
parentNode.append(...DOMStrings);
append node节点 示例
<ul id="app"><li>JavaScript</li>
</ul><script>
let app = document.querySelector('#app');let langs = ['TypeScript','HTML','CSS'];let nodes = langs.map(lang => {let li = document.createElement('li');li.textContent = lang;return li;
});app.append(...nodes);
</script>
最后页面的HTML将为
<ul id="app"><li>JavaScript</li><li>TypeScript</li><li>HTML</li><li>CSS</li>
</ul>
append DOMStrings 示例
<div id="app"></div><script>let app = document.querySelector('#app');app.append('append() 文本 Demo');console.log(app.textContent);// 输出:// append() 文本 Demo
</script>
最后页面的HTML将为
<div id="app">append() 文本 Demo</div>
append vs appendChild()
下面表格展示了 append()
和 appendChild()
的区别:
Differences |
append()
|
appendChild()
|
---|---|---|
返回值 |
undefined
|
插入的 Node 对象
|
参数 |
多个 Node 对象
|
单个Node 对象
|
参数类型 |
允许 Node 或者 DOMString
|
Node
|
prepend()
和append()
方法类似,prepend()
用来在最前面插入元素
语法:
parentNode.prepend(...nodes);
parentNode.prepend(...DOMStrings);
prepend node节点
<ul id="app"><li>HTML</li>
</ul><script>let app = document.querySelector('#app');let langs = ['CSS','JavaScript','TypeScript'];let nodes = langs.map(lang => {let li = document.createElement('li');li.textContent = lang;return li;});app.prepend(...nodes);
</script>
输出HTML
<ul id="app"><li>CSS</li><li>JavaScript</li><li>TypeScript</li><li>HTML</li>
</ul>
prepend() DOMStrings
<div id="app"></div><script>let app = document.querySelector('#app');app.prepend('prepend() 文本 Demo');console.log(app.textContent);// 输出:// prepend() 文本 Demo
</script>
最终的HTML为
<div id="app">prepend() 文本 Demo</div>
总结
今天我们复习了insertBefore()
,append()
和prepend()
方法,掌握DOM基础插入方法,走遍天下都不怕。
明天见。
如果你想跟着我一起复习DOM知识,微信搜索【小帅的编程笔记】,每天更新
JS DOM 编程复习笔记 -- insertBefore、insertAfter、append、prepend(七)相关推荐
- JS DOM 编程复习笔记--父元素、子元素和兄弟元素(三)
今天我们来复习DOM中的获取父元素.子元素和兄弟元素的API,它们主要有parentNode.firstChild.firstElementChild.lastChild.lastElementChi ...
- JS DOM 编程复习笔记 -- replaceChild、cloneNode、removeChild(八)
今天我们继续来去复习DOM操作的三个API,分别为replaceChild.cloneNode.removeChild,替换节点.克隆节点.删除节点,下面一个个来看它们的语法以及使用案例. repla ...
- 前端JS基础知识复习笔记(1)
珠峰前端JS基础复习笔记(1) 在财务工作中自学了HTML和CSS之后,硬啃了JS高级编程三,实在觉得想要学的透是需要找一位好老师的,于是最近在学习周啸天老师的JS高级编程课,课外需要再补补基础,就回 ...
- 前端JS基础知识复习笔记(2)
珠峰的JS基础课程笔记(第二天) 今天早上做完了变量的作业,下午听基础课做做笔记,最好没有事干的时候可以翻出来看看,欢迎大家收藏和我一起复习回顾记忆,一起学习一起成长一起挣钱钱ヾ(◍°∇°◍)ノ゙ . ...
- Linux网络编程复习笔记
理论知识点 TCP协议的三次握手的触发API connect : 第一次握手信息 第二次,第三次都是被动处理,无需调用接口 accept不参与三次握手,取出三次握手成功的描述符 socket描述符的合 ...
- Linux系统编程 复习笔记
4 文件IO 操作 #include<fcntl.h> #include<unistd.h>#include<sys/types.h> creat int fd=c ...
- javascript DOM 编程艺术----笔记
平稳退化和渐进增强原则平稳退化 : 如果正确的使用了JavaScript脚本,就可以让访问者在他们的浏览器不支持JavaScript的情况下仍能顺利的浏览你的网站. 这就是所谓的平稳退化(gracef ...
- JavaScript DOM编程艺术简略笔记
简略目录 1.BOM 2.DHTML 3.数组 4.条件判断的注意点 5.函数中变量的作用域问题 6.几种对象的简介 7.BOM和DOM 8.DOM操作中的一些特别点 9.JS文件与CSS文件的引入方 ...
- JavaScript DOM编程艺术学习笔记(一)
嗯,经过了一周的时间,今天终于将<JavaScript DOM编程艺术(第2版)>这本书看完了,感觉受益匪浅,我和作者及出版社等等都不认识,无意为他们做广告,不过本书确实值得一看,也值得推 ...
最新文章
- linux c 获取屏幕信息,Linux C 获取本机相关信息
- Uptime Tier Ⅳ标准数据中心的柴发油路设计关键点
- oracle数据库分组查询group by
- Dubbo Admin服务测试功能
- Ant Design Blazor 发布 0.9.0,共100+人贡献!
- dva源码解析(一)
- python多线程实现for循环_Python多线程实现同时执行两个while循环
- 华为云应用服务网格最佳实践之从Spring Cloud 到 Istio
- mcollective的web控制台---mcomaster搭建
- win7免费升级win10官方工具
- CSS 3之美化表格样式(二)
- azure微软文字转语音工具​AzureTools​使用
- ttl转rs232发送十六进制_浅析 UART、RS232、TTL 之间的关系(转)
- Oracle一次性查询超过1000条数据的方法(分批查询)
- (每日一练c++)有效的数独
- python 实现表情迁移
- 修改elemntui tabs 下划线长短
- OCiOS开发:使用相册、照相机和录像
- display、visibility和opactity的区别
- 迅捷音频转换器怎么使用? 1
热门文章
- 内蒙古科技大学本科生毕业论文计算机科学与技术
- 《Adobe Photoshop CS6中文版经典教程(彩色版)》—第2课2.9节使用污点修复画笔工具...
- 常见模板开启HTTPS后网站访问排版错乱
- 应对不确定冲击的企业之道
- Professional Plus 2010 Beta 激活
- x86服务器市场销售量排名,x86服务器出货量排名
- 计算机主页被篡改这是来自互联网的风险,IE主页为2345.com无法修改回来的解决方法...
- 平安好医生荣膺中国证券金紫荆奖“最佳新经济上市公司奖”
- 卸载软件时出现“不能够打开文件INSTALL.LOG”
- 统计方法巡礼(一)算命先生和统计方法