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

创建节点: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. Vue3 解构赋值失去响应式引发的思考

    前言 vue3发布以来经历两年风头正盛,现在大有和react 平分秋色的势头,我们知道他是基于proxy 实现响应式的能力, 解决了vue2所遗留下来的一些问题,同时也正由于proxy的特性,也提高了 ...

  2. lin-view-ui Vue 2.0 组件库

    lin-view-ui 是一款基于 Vue.js 2.0 的前端 UI 组件库,主要集成了平时在开发中使用到的 UI 组件. 特性 基于 Vue 开发的 UI 组件 使用 npm + webpack ...

  3. Java集成系列:高效构建自定义插件

    前言 随着软件开发的快速发展和需求的不断增长,开发人员面临着更多的压力和挑战.传统的开发方法需要花费大量的时间和精力,而低代码开发平台的出现为开发人员提供了一种更加高效.快速的开发方式.今天小编就以构 ...

  4. PostgreSQL 14.4的安装以及使用以及一些安装的异常

    PostgreSQL 14的安装以及使用 因为公司的一些要求,可能要换数据库,虽然之前装过,但是版本感觉还是新一点比较好,所以重新装一下 首先下载文件,直接去官网下载就行 https://www.en ...

  5. P9562 [SDCPC2023] G-Matching 题解

    题目描述 给定长度为 \(n\) 的整数序列 \(a_1, a_2, \cdots, a_n\),我们将从该序列中构造出一张无向图 \(G\).具体来说,对于所有 \(1 \le i < j \ ...

  6. 巧用API网关构建大型应用体系架构

    简介: 近期阿里云重磅发布了BizWorks一体化的云原生应用的开发和运营平台,内置阿里巴巴业务中台构建的最佳技术实践.它已经将API网关作为关键组件融入其中,并且基于API网关为用户提供能力开放平台 ...

  7. ZooKeeper 在阿里巴巴的服务形态演进

    简介: 本文将给大家介绍下 ZooKeeper 的最佳实践场景,归为了 3 类,分别是:微服务领域,代表的集成产品是 Dubbo/SpringCloud:大数据领域,代表的集成产品是 Flink/Hb ...

  8. Docker Desktop v20.10.8 和 WSL2 迁移镜像存储目录

    只迁移存储镜像和挂载文件目录:https://www.cnblogs.com/lemonK/p/17781775.html 同时迁移docker程序目录:https://www.cnblogs.com ...

  9. WPF 下拉框选项做鼠标 Hover 预览效果

    本文来告诉大家如何在 WPF 中,在 下拉框 ComboBox 里面,鼠标移动到 ComboBoxItem 上时,自动触发对应的事件,用来预览此选项值.例如我在实现一个颜色下拉框,此时我可以通过点击下 ...

  10. STM32 USART串口通信

    一.介绍 通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换.USART利用分数波特率发生器提供宽范围的波特率选择.它支持同步单向 ...