本文所用的知识点:创建节点和添加节点

创建节点:document.createElement('li')

添加节点  node(父亲节点).appendChild(child)    child:子节点   追加式添加元素
 
insertBefore:使得插入的元素始终显示在最前面
 
 

<!--
* @Author: panda
* @Date: 2020-06-15 21:00:37
* @Last Modified by: panda
* @Last Modified time: 2020-06-15 21:00:37
-->
<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>删除留言板案例</title>
<style>
* {
margin:
0;
padding:
0;
} a {
text-decoration: none;
color: #333333;
} a:hover {
text-decoration: underline;
color: #45bcf9;
} .del {
float: right;
} ul,
li {
list-style:
none;
} .wrap {
width:
400px;
margin:
100px auto;
} li {
padding:
5px;
border-bottom:
1px solid #eeeeee;
margin: 5px 0;
font-size: 14px;
line-height: 28px;
} button {
background:
#169fe6;
border:
none;
color:
#ffffff;
padding:
5px 15px;
cursor: pointer;
} button:hover {
background:
#45bcf9;
} textarea {
width:
100%;
padding:
10px;
box-sizing:
border-box;
}
</style>
</head> <body> <div class="wrap">
<div> <textarea name="" id="" cols="30" rows="10"></textarea> </div>
<div> <button>评论</button></div>
<ul></ul>
</div> <script>
var text = document.querySelector('textarea');
var btn = document.querySelector('button');
var ul = document.querySelector('ul'); // 注册事件
btn.onclick = function () {
// 判断用户是否输入值
if (text.value == '') {
alert('请输入评论内容!');
return false;
} else {
// 1、创建节点
var li = document.createElement('li');
// 2、将用户输入的值赋添加到li元素中去,使用 innerHTML,再添加一个删除按钮
li.innerHTML = text.value + '<a href = "javascript:;" class = "del">删除</a>';
// 3、添加节点
ul.insertBefore(li, ul.children[0]);
text.value = ''; // 删除操作 node.removeChild(child)
var a = document.querySelectorAll('a');
for (var i = 0; i < a.length; i++) {
a[i].onclick = function () {
// 删除当前a所在的li元素
ul.removeChild(this.parentNode);
}
}
}
}
</script>
</body> </html>

js 留言板(带删除功能)的更多相关文章

  1. 问题:关于一个贴友的js留言板的实现

    需求:用js做一个简单的留言板效果 html部分: 1: <!DOCTYPE> 2: <html lang="zh-en"> 3: <head> ...

  2. vue.js使用更简单的方法制作带删除功能的tooolist

    今天复习了下vue.js,先做了个基本版的todolist,做完后自己想加个删除本项的按钮.一开始做没啥头绪了,试了试无果,查了一把后发现网上的那些方法真的是麻烦,自己动手丰衣足食,自己最后换了思路试 ...

  3. JS 留言板案例

    css代码 ul { list-style: none; } ul li { background-color: pink; line-height: 40px; margin: 10px; widt ...

  4. android控件库(1)-带删除功能的EditText

    DJEditText.java /** * Created by xp.chen on 2016/11/25. */ public class DJEditText extends AppCompat ...

  5. JavaScript学习笔记(三)——留言板知操纵DOM节点

    用JavaScript写了一个简易的留言板,暂不涉及数据库接入等. 1.功能以及流程 主要功能即为留言,用两个文本框接受用户输入的用户名以及留言内容,然后通过"提交留言"按钮将用户 ...

  6. 35.Android之带删除按钮EditText学习

    今天实现Android里自定义带删除功能的EditText,效果如下: 当输入内容时,EditText变为带有一个删除功能按钮的编辑框,如图: 实现代码很简单,直接上代码, 布局文件xml: < ...

  7. IOS UITableView删除功能

    UITbableView作为列表展示信息,除了展示的功能,有时还会用到删除,比如购物车等.删除功能可以直接使用系统自带的删除功能,当横向轻扫cell时,右侧出现红色的删除按钮,点击删除当前cell. ...

  8. 原生JS实现简单留言板功能

    原生JS实现简单留言板功能,实现技术:css flex,原生JS. 因为主要是为了练手js,所以其中布局上的一些细节并未做处理. <!DOCTYPE html> <html lang ...

  9. JS原生编写实现留言板功能

    实现这个留言板功能比较简单,所以先上效果图: 实现用户留言内容,留言具体时间. <script> window.onload = function(){ var oMessageBox = ...

  10. Vue之简易的留言板功能

    今天我将带大家通过Vue的todolist案例来完成一个简易的网页留言板! LES'T GO! 首先我们需要在页面上搭建一个input文本输入框,并设置提交按钮,通过循环指令来完成输入框的信息提交! ...

随机推荐

  1. 【笔记】Linux基础指令

    Linux基础指令 cd 跳转文件夹 cd 到根目录 cd usr 到根目录下的usr目录 cd .. 到上一级目录 cd ~ 到home目录 cd - 到上次访问的目录 sh 执行sh命令 ls 查 ...

  2. 剑指offer03(Java)-数组中重复的数字(简单)

    题目: 找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任 ...

  3. 剑指offer21(Java)-调整数组顺序使奇数位于偶数前面(简单)

    题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组的前半部分,所有偶数在数组的后半部分. 示例: 输入:nums = [1,2,3,4]输出:[1,3,2,4] 注:[ ...

  4. 力扣54(java)-螺旋矩阵(中等)

    题目: 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素. 示例 1: 提示: m == matrix.lengthn == matrix[i].leng ...

  5. SysAK 应用抖动诊断篇—— eBPF又立功了! | 龙蜥技术

    ​简介:且看 SysAK 是如何打造一款性能开销不大.安全可靠.且灵活的关中断检测工具. ​ 文 / 系统运维 SIG 编者按:还记得曾经风靡一时的狄仁杰探案系列之<他抖任他抖,IO诊断在我手& ...

  6. 新型DDoS来袭 | 基于STUN协议的DDoS反射攻击分析

    简介: 作为新型反射类型,目前仍存绕过防御可能性. 阿里云安全近期发现利用STUN(Session Traversal Utilities for NAT,NAT会话穿越应用程序)服务发起的DDoS反 ...

  7. SLS控制台内嵌操作指南

    简介: SLS控制台内嵌操作指南 一.机制 详见:https://help.aliyun.com/document_detail/74971.html 二.操作 2.1 子账号操作(主账号身份操作) ...

  8. WPF控件:密码框绑定MVVM

    以下是一种使用 MVVM 模式的方法: 首先,在 ViewModel 中添加一个属性来保存密码,我们可以使用 SecureString 类型. // 密码变量 private SecureString ...

  9. dotnet OpenXML 聊聊文本段落对齐方式

    本文来和大家聊聊在 OpenXML 里面,文本段落对齐方式.在 Word 和 PPT 的文本段落对齐规则是相同的,对齐的规则比较多,本文将一一告诉大家 文本的段落对齐,需要设置给段落属性上,在 Ope ...

  10. Pod进阶篇:污点-容忍度-亲和性-Affinity-调度(5)

    一.Pod资源清单详细解读 apiVersion: v1 #版本号,例如 v1 kind: Pod #资源类型,如 Pod metadata: #元数据 name: string # Pod 名字 n ...