DDR爱好者之家 Design By 杰米
本文实例为大家分享了JS实现简易留言板的具体代码,供大家参考,具体内容如下
今天的案例主要是对节点进行操作
创建节点、添加节点、删除节点以及为节点添加内容的操作。
就是一个简单的留言板功能,可以发布留言,删除留言。
主要思路:两个鼠标点击事件——点击发布按钮事件和点击删除按钮事件
发布按钮事件:首先在文档中创建li节点。然后第二步,先把文本域中的内容获取出来赋给li,这里要注意,文本域是表单元素,获取表单元素的内容是使用表单的特有属性value,要与普通元素获取内容的innerHTML进行区分;再把删除链接添加到li中,利用字符串拼接的方式。最后把li节点添加到ul中,添加的方式有两种,是直接添加到ul列表项的末尾,也可以添加到指定位置。这里我是选中插入到ul列表的最前面。
删除按钮事件:点击删除按钮的事件是在把创建的li添加到ul中之后定义的。删除的操作主要是要弄清除是父节点元素删除子节点元素。在这里点击删除链接,删除的是当前被点击的按钮所在的li。li是删除连接的父节点元素。
分析永远比敲代码重要。要先分析,再去敲代码,实现需求。
先看效果图吧
默认是没有任何内容的
在文本域中输入,点击发布,可以发布留言,如果发完想删除,可以点击里面的删除按钮,删除留言
删除操作后:
JS代码:
<script> // 点击发布,会把文本域中的内容发布到ul中 // 点击删除,会删除留言 // 1.获取事件源 文本域 按钮 文本域 var text = document.querySelector('textarea'); var btn = document.querySelector('button'); var ul = document.querySelector('ul'); // 2.注册点击事件 btn.onclick = function () { // 首先会创建一个li 并把文本域的内容给li 再把li添加到ul中 var li = document.createElement('li'); if (text.value == '') { alert('您没有输入内容') } else { // 文本域的值 value // 增加一个删除留言的按钮 li.innerHTML = text.value + '<a href="javascript:;" rel="external nofollow" rel="external nofollow" >删除</a>'; ul.insertBefore(li, ul.children[0]); // 把最新的发布放到最前面 // ul.appendChild(li); // 3.注册删除点击事件 var removeBtn = document.querySelectorAll('a'); for (var i = 0; i < removeBtn.length; i++) { removeBtn[i].onclick = function () { ul.removeChild(this.parentNode); } } } } </script>
全部代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>留言板</title> <style> * { margin: 0; padding: 0; } body { padding: 100px; } textarea { width: 200px; height: 100px; border: 1px solid pink; outline: none; resize: none; } ul { margin-top: 50px; } li { width: 300px; padding: 5px; background-color: rgb(245, 209, 243); color: red; font-size: 14px; margin: 15px 0; } li a { float: right; } </style> </head> <body> <textarea name="" id=""></textarea> <button>发布</button> <ul> </ul> <script> // 点击发布,会把文本域中的内容发布到ul中 // 点击删除,会删除留言 // 1.获取事件源 文本域 按钮 文本域 var text = document.querySelector('textarea'); var btn = document.querySelector('button'); var ul = document.querySelector('ul'); // 2.注册点击事件 btn.onclick = function () { // 首先会创建一个li 并把文本域的内容给li 再把li添加到ul中 var li = document.createElement('li'); if (text.value == '') { alert('您没有输入内容') } else { // 文本域的值 value // 增加一个删除留言的按钮 li.innerHTML = text.value + '<a href="javascript:;" rel="external nofollow" rel="external nofollow" >删除</a>'; ul.insertBefore(li, ul.children[0]); // 把最新的发布放到最前面 // ul.appendChild(li); // 3.注册删除点击事件 var removeBtn = document.querySelectorAll('a'); for (var i = 0; i < removeBtn.length; i++) { removeBtn[i].onclick = function () { ul.removeChild(this.parentNode); } } } } </script> </body> </html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米
暂无评论...
更新日志
2024年03月28日
2024年03月28日
- 苏有朋.1994-珍惜的背包(第3张)【飞碟】【WAV+CUE】
- 《宝可梦:朱紫》“蓝之圆盘”IGN7分:性能优化仍旧灾难
- 《塞尔达传说:王国之泪》大获成功!多项年度数据表现优秀
- 应景!欧任用《塞尔达传说:王国之泪》堆雪人
- 杨采妮.1996-为所欲为(国专)【EMI百代】【WAV+CUE】
- 黎姿.1993-如果真的恋爱【华纳】【WAV+CUE】
- 朱婧汐.2024-VILLAIN反派角色【StreetVoic】【FLAC分轨】
- 《喷射战士3》最新祭典公布 1月13日举办
- NS日服年度下载榜公开:《王泪》不敌《西瓜游戏》
- 科乐美《心跳回忆GS》系列推出复刻版 2月14日登陆NS
- 林峰.2012-SELF-PORTRAIT【英皇娱乐】【WAV+CUE】
- TENSION.2004-Story新歌+精丫EMI百代】【FLAC分轨】
- 草蜢.2000-环球2000超巨星系列【环球】【WAV+CUE】
- 国行Switch开启元旦折扣!《马里奥奥德赛》7折促销
- 《塞尔达》官方账号感谢玩家支持 发布王泪最新壁纸