一、实现样式

二、使用知识点

1、节点

父节点node.parentNode、子节点parentNode.children

2、DOM节点操作

createElement(创建节点)、insertBefore(前面插入节点)、removeChild(删除节点)

3、时间函数

function getNowTime() {var date = new Date();//年 getFullYear():四位数字返回年份var year = date.getFullYear(); //getFullYear()代替getYear()//月 getMonth():0 ~ 11var month = date.getMonth() + 1;//日 getDate():(1 ~ 31)var day = date.getDate();//时 getHours():(0 ~ 23)var hour = date.getHours();//分 getMinutes(): (0 ~ 59)var minute = date.getMinutes();//秒 getSeconds():(0 ~ 59)var second = date.getSeconds();//绑定时间标签var commTime = document.querySelector(".time")  var time = year + '-' + addZero(month) + '-' + addZero(day);commTime.innerHTML = time;}
//小于10前面加0function addZero(s) {return s < 10 ? ('0' + s) : s;}
}

三、核心点

1、css样式注意布局样式,一些标签是js所创建的。
2、删除a标签绑定,删除removeChild节点功能写在发布标签函数 里面,写在外面不会生效,因为页面加载完没有a标签,绑定会失败。

    combtn.addEventListener('click', function() {//添加标签if (!commBox.value) {console.log("评论为空");} else {var li = document.createElement("li");li.innerHTML = "<img src='./img/headimg.jpg'>" + "<span>Henry</span> <span class='time'></span>" + "<p>" + commBox.value + "</p>" + "<a href='javascript:;'>删除</a>";ul.insertBefore(li, ul.children[0]);getNowTime();commBox.value = '';//删除评论   写在评论函数里面。不然页面加载没有a标签无法绑定var del = document.querySelectorAll("a");for (var i = 0; i < del.length; i++) {del[i].onclick = function() {ul.removeChild(this.parentNode);}}}})

附录

HTML

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>comment</title><link rel="stylesheet" href="./comment.css"><script src="./comment.js"></script>
</head>
<body><div class="comtext"><img src="./img/headimg.jpg" alt=""><textarea name="" id="commBox" cols="70" rows="12" placeholder="请输入评论..."></textarea><input type="submit" name="" id="" value="评  论" class="combtn" /></div><div class="comment"><ul><li><img src="./img/headimg1.jpg" alt=""> <span>Jvascript</span><p>123</p></li><li><img src="./img/headimg1.jpg" alt=""> <span>Jvascript</span><p>123</p></li><li><img src="./img/headimg1.jpg" alt=""><span>Jvascript</span><p>123</p></li></ul></div>
</body>
</html>

CSS

        * {margin: 0 auto;padding: 0 auto;}a {text-decoration: none;}ul li {list-style: none;margin-top: 10px;width: 500px;height: 150px;position: relative;border: 1px solid #f2f2f2;padding: 0 10px;}.comtext img {width: 40px;height: 40px;border-radius: 50%;position: absolute;left: -100px;top: 62px;}li a {float: right;text-decoration: none;color: #777888;font-size: 14px;margin-top: 30px;}li img {width: 40px;height: 40px;border-radius: 50%;margin-top: 10px;}li span {color: #777888;margin-left: 45px;margin-top: -35px;display: block;}li p {position: absolute;top: 70px;left: 55px;font-size: 16px;font-family: SimSun;}.time {color: 777888;font-size: 14px;margin-top: -17px;margin-left: 100px;}.comtext {width: 400px;height: 460px;/* border: 1px solid black; */text-align: center;position: relative;/* display: none; */}#commBox {position: absolute;left: -44px;margin: 60px auto;border-radius: 5px;resize: none;outline: none;font-size: 16px;}.combtn {position: absolute;right: -135px;bottom: 132px;background-color: #0090CE;font-size: 16px;color: #fff;border-radius: 5px;margin-top: 20px;text-align: center;cursor: pointer;outline: none;}.close {position: absolute;right: 5px;top: 2px;cursor: pointer;}

JS

//新增评论
window.onload = function() {var commBox = document.querySelector("#commBox");var ul = document.querySelector("ul");var comtext = document.querySelector(".comtext");var combtn = document.querySelector(".combtn");//评论模块combtn.addEventListener('click', function() {//添加标签if (!commBox.value) {console.log("评论为空");} else {var li = document.createElement("li");li.innerHTML = "<img src='./img/headimg.jpg'>" + "<span>Henry</span> <span class='time'></span>" + "<p>" + commBox.value + "</p>" + "<a href='javascript:;'>删除</a>";ul.insertBefore(li, ul.children[0]);getNowTime();commBox.value = '';//删除评论   写在评论函数里面。不然页面加载没有a标签无法绑定var del = document.querySelectorAll("a");for (var i = 0; i < del.length; i++) {del[i].onclick = function() {ul.removeChild(this.parentNode);}}}})//获取时间function getNowTime() {var date = new Date();//年 getFullYear():四位数字返回年份var year = date.getFullYear(); //getFullYear()代替getYear()//月 getMonth():0 ~ 11var month = date.getMonth() + 1;//日 getDate():(1 ~ 31)var day = date.getDate();//时 getHours():(0 ~ 23)var hour = date.getHours();//分 getMinutes(): (0 ~ 59)var minute = date.getMinutes();//秒 getSeconds():(0 ~ 59)var second = date.getSeconds();var commTime = document.querySelector(".time")var time = year + '-' + addZero(month) + '-' + addZero(day);commTime.innerHTML = time;}function addZero(s) {return s < 10 ? ('0' + s) : s;}
}

JS实现简单的评论与删除功能相关推荐

  1. php中删除评论怎么做的,php实现评论回复删除功能

    简单的评论回复删除功能,具体内容如下 一.数据库 建立两张表,一是pinglun表:二是huifu表 效果如下: 代码如下: 1.主页面 main.php 无标题文档 朋友圈 内容: 今天很嗨 que ...

  2. html消息页左滑删除模板,基于JS实现移动端左滑删除功能

    基于JS实现移动端左滑删除功能 2019-01-07 编程之家 https://www.jb51.cc 编程之家收集整理的这篇文章主要介绍了基于JS实现移动端左滑删除功能,编程之家小编觉得挺不错的,现 ...

  3. html5实现下拉刷新页面,原生js实现简单的下拉刷新功能

    前言: 我们在浏览移动端web页面的时候,经常会用到下拉刷新. 现在我们用原生的js实现这个非常简单的下拉刷新功能. (温馨提示:本文比较基础,功能也很简单.写的不好的地方,希望大神提点一二.) 一. ...

  4. 使用vuejs实现简单的图书增加删除功能

    概要: 1.实现删除功能. 2.实现增加功能. 代码: css table,td{border: 1px solid #ccc;border-collapse: collapse;}table,fie ...

  5. JS+jQuery简单版发布、删除留言

    首先用户在输入框中输入内容,按下发布按钮,内容到下面的li中,并且清空输入框中的内容 下面这个li元素就是后面创建的 <!DOCTYPE html> <html lang=" ...

  6. 模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(上)...

      我们大部分人都发过动态,想必都知道发动态.回复评论.删除动态的整个过程,那么作为初学者,要模仿这些功能有点复杂的,最起码表的关系得弄清楚~~ 先把思路理一下: (1)用户登录,用session读取 ...

  7. php 朋友圈留言,php实例-PHP仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(上)...

    我们大部分人都发过动态,想必都知道发动态.回复评论.删除动态的整个过程,那么这个功能是如何实现的呢?下面小编给大家带来了实例代码,对PHP仿qq空间或朋友圈发布动态.评论动态.回复评论.删除动态或评论 ...

  8. 利用Vue.js实现简单员工管理系统(增删查)的功能

    员工管理系统 注意!!此篇博客没有涉及后台数据库,所有数据自己设定,不经过数据库来增删改查!! 我们想要实现一个简单的员工管理系统案例需要以下几个步骤,我们一起来康康叭~~ 第一步:首先先实现基础的表 ...

  9. 模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)...

    在上一篇随笔中已经将如何发布动态呈现了,那么现在来看一下剩下的评论动态.回复评论.删除动态和评论功能,这几个功能会有点绕~~~ 一.思路如下: (1)你发表动态之后,会有人评论这一条动态,当评论之后, ...

最新文章

  1. 小冰数字孪生主播正式上线 全球首创全流程无人化AI直播
  2. 限制php解析、user_agent、php相关配置
  3. 使用Hyper-V安装Ubuntu16.04 Server 网络配置
  4. 通信 / HTTPS 过程详解
  5. python怎么安装xlrd库_Python第三方库xlrd/xlwt的安装与读写Excel表格
  6. visual studio输入法打不了中文_(四)让人纠结的双拼输入法,以及承载它的那些输入法们(下)...
  7. 【论文阅读】Deep contextualized word representations
  8. React Native 0.21 发布 (翻译Changelog)
  9. python open函数encoding_python中open函数的使用
  10. 从金蝶k3到金税盘_金蝶K3操作流程(全篇)
  11. 培训落差感,一切以不传授技能为主的培训都是耍流氓
  12. Qt +ffmpeg(vp8) 记录视频每一帧并生成webm文件格式
  13. 支付宝区块链专利申请连续三年全球第一:办事效率提升1万倍
  14. 动手学数据分析(四)- 数据可视化
  15. 深圳计算机学校排名2015年,2015深圳各区初中最新排名,10各区学校都有
  16. 距离度量与相似度度量
  17. 如何编制试算平衡表_会计实务:试算平衡表的编制步骤
  18. 戒梭先生:随笔|合格交易者要达到的三个境界
  19. 电容参数X5R,X7R,Y5V,COG
  20. java晋级之路--如何成为高级工程师

热门文章

  1. sinr的值在多少到多少之间
  2. 团队管理-如何管理好团队里各种性格的员工
  3. 对YUV像素格式的理解
  4. 天梯训练赛——彩虹瓶
  5. MATLAB里出现一大段橙色的字,出现这样的警告问题在哪呢
  6. (数学概念)矩阵的逆、伪逆、左右逆,最小二乘,投影矩阵
  7. 高抛低吸,谁都知道,为什么还亏钱?
  8. 汽车防振橡胶隔离器安装座的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  9. 彻底弄懂LSH之simHash算法
  10. 环境整理(pro、sit、uat、test、pre、dev、fat )