JS实现简易留言板(节点操作)

本文实例为大家分享了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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • JS+CSS模拟可以无刷新显示内容的留言板实例

    本文实例讲述了JS+CSS模拟可以无刷新显示内容的留言板功能.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//h2D XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/h2D/xhtml1-transitional.h2d"> <html xmlns="http://www.w3.org/1999/

  • JS实现简易留言板增删功能

    本文实例为大家分享了JS实现留言板增删功能的具体代码,供大家参考,具体内容如下 ## **JS实现简易留言板的增删功能** 一个很简单的留言板,实现**增删**功能,因为没有数据库,所以只是一个静态的留言板功能. **修改**功能其实也可以添加,但是我现在技术不够,等以后可能会添加**修改**功能. 代码很简单,注释很清楚.``` <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu

  • js使用DOM操作实现简单留言板的方法

    本文实例讲述了js使用DOM操作实现简单留言板的方法.分享给大家供大家参考.具体分析如下: 如图所示简易留言板,也就是自娱自乐版,说白了就是练习DOM操作. 要点一:document.createElement("标签名") 新建元素 要点二:父元素.appendChild("元素")  把新建的元素插入到页面的标签中(在标签的最后一个显示),这样才会在浏览器中显示出来 要点三:父元素.insertBefore("元素","要插入哪个元

  • jsp留言板源代码三: 给jsp初学者.

    作 者: precom (皮蛋) 2000.12.10reply.jsp ==================================== <html><head> <META content="text/html; charset=gb2312 " http-equiv=Content-Type> <title>张家界电话黄页(网上114)</title></head> <style type=&q

  • JS实现留言板功能

    每天一个JS 小demo之留言板.主要知识点:DOM方法的理解和运用 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> .wrap { width: 400px; margin: 30px au

  • JS实现简易留言板特效

    本文实例为大家分享了JS实现留言板特效的具体代码,供大家参考,具体内容如下 知识点 1.textarea 大段输入框 2.value获取输入框的值 3.innerHTML所用东西:innerText文本 4.insertBefore在某个标签之前插入 运行效果 代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>T

  • JavaScript实现动态留言板

    本文实例为大家分享了简单动态留言板的创建,供大家参考,具体内容如下 效果图展示: 思路 html代码 <textarea name="" id="" cols="30" rows="10"></textarea> <button>发表留言</button> <ul></ul> css代码 <style> * { margin: 0; paddi

  • javascript实现留言板功能

    本文实例为大家分享了javascript实现留言板功能的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> *{ margin: 0; padding: 0; } .box{ /*设置最外层盒子*/ width:

  • js 实现的可折叠留言板(附源码下载)

    javaScript 代码如下: $(document).ready(function(){ $(".message_list .message_body:gt(0)").hide(); $(".message_list li:gt(4)").hide(); $(".message_head").click(function(){ $(this).next(".message_body").slideToggle(500) r

  • 原生JS实现留言板功能

    本文实例为大家分享了JS实现留言板功能的具体代码,供大家参考,具体内容如下 实现这个留言板功能比较简单,所以先上效果图: 实现用户留言内容,留言具体时间. <script> window.onload = function(){ var oMessageBox = document.getElementById("messageBox"); var oInput = document.getElementById("myInput"); var oPos

随机推荐