JavaScript 评论添加练习

本次所学内容:

//var str = '<li>'+value+'</li>';

支付串和变量的拼接 //ul.innerHTML += str;

使用+=就相等于一个追加的功能

如果是字符串的数据想要转换成JSON数据

就可是使用JSON.parse()方法将这个转换成JSON数据。  parse里面存放的是要转化的数据类型

如果是JSON数据想要转换成字符串的数据

就可是使用JSON.stringify()方法将JSON数据转换成字符串数据。  stringity方法里面存放的是要转化的数据类型

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>3.仿照微博.html</title>
</head>
<body>
<textarea> </textarea>
<button>发表评论</button> <ul>
<!-- <li>123</li> -->
</ul>
</body>
<script>
//1.获取对象
var textarea = document.querySelector('textarea');
var btn = document.querySelector('button');
var ul = document.querySelector('ul');
//2.'点击按钮',就将'用户输入的信息''写入到ul列表中'。(3个小步骤) //点击事件
btn.onclick = function(){
//(1)获取用户输入的信息
var value = textarea.value; //(1-1)创建li节点
var li = document.createElement('li');
li.innerHTML = value;
//console.log(li); //(1-4)创建a标签(删除)
var a = document.createElement('a');
a.href="javascript:;";
a.innerHTML = "删除";
//(1-5)li追加一个a标签
li.appendChild(a); //(1-2)获取ul的第一个节点
var firstNode = ul.firstElementChild || ul.firstChild;
console.log(firstNode); //(1-3)在第一个前添加
ul.insertBefore(li,firstNode) //(2)写入到ul列表中
//var str = '<li>'+value+'</li>';
//ul.innerHTML += str; //3.点击新创建的a链接,删除当前的li标签
a.onclick = function(){
//找li节点 —— 通过a节点找li父节点
var li = this.parentNode;
//console.log(li); //删除子节点
//ul.removeChild(li节点);
ul.removeChild(li);
}
}
// 注:ul.firstElementChild 这个查找第一个标签没有的话是一个文本标签 ul.firstChild 这个查找第一个标签没有的话是一个null
// 所以在第一个添加的时候,insertBefore会将文本标签和null当做第一个标签 </script>
</html>

  

JavaScript 评论添加练习的更多相关文章

  1. (GoRails)使用vue和Vuex管理嵌套的JavaScript评论, 使用组件vue-map-field

    嵌套的JavaScript评论 Widget Models 创建类似https://disqus.com/ 的插件 交互插件: Real time comments: Adapts your site ...

  2. return array 评论添加状态和提示信息

    ThinkSNS漏洞系列第一弹,某处处理不当导致SQL注入 漏洞点出现在Comment Widget里:\addons\widget\CommentWidget\CommentWidget.class ...

  3. 用Javascript动态添加删除HTML元素实例 (转载)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. 【javascript 动态添加数据到 HTML 页面】

    今天简单的学习了一下有关对象字面量的定义和 javascript 如何取出对象字面量的值的知识,javascript 动态添加数据到 HTML 页面的问题. [学习目标]有如下的一组数据通过 Ajax ...

  5. 如何将 JavaScript 代码添加到网页中,以及 <script> 标签的属性

    Hello, world! 本教程的这一部分内容是关于 JavaScript 语言本身的. 但是,我们需要一个工作环境来运行我们的脚本,由于本教程是在线的,所以浏览器是一个不错的选择.我们会尽可能少地 ...

  6. JavaScript基础——添加错误处理

    JavaScript编程的一个重要组成部分,是添加错误处理来应对可能会出现的问题.默认情况下,如果因为你的JavaScript中的问题二产生了一个代码异常,那么脚本就会失败并且无法完成加载.这通常不是 ...

  7. javascript动态添加本地文件列表信息

    工作需要做了一个动态添加列表页面的小demo.用到了杂七杂八的javascript小知识. 而且并没有涉及到工作中的具体情境.有些通用,所以暂且罗列到这里.以后需要的时候可以直接拿来用. 看源码总是让 ...

  8. javascript动态添加form表单元素

    2014年11月7日 17:10:40 之前写过几篇类似的文章,现在看来比较初级,弄一个高级的简单的 情景: 后台要上传游戏截图,截图数量不确定,因此使用动态添加input节点的方法去实现这个效果 主 ...

  9. javascript动态添加一组input

    2013年12月18日 20:56:29 场景: 批量添加 友情链接 功能 每个友情链接记录有3个字段:名字(name),超链接(url),排序(order) 要求每次点击"添加" ...

随机推荐

  1. 共享MFC自绘Listctrl代码

    在别人代码基础上修改的ListCtrl,支持设置行高,header高度,header背景图,奇偶行不同背景色, 支持设置某列为Checkbox,Edit,Combobox, 支持自定义排序. 效果图如 ...

  2. Java面试宝典-2017

    Java面试宝典2017版 一. Java基础部分........................................................................... ...

  3. 1-2 hibernate主配置文件hibernate.cfg.xml详解

    详 http://www.cnblogs.com/biehongli/p/6531575.html Hibernate的主配置文件hibernate.cfg.xml 1:Hibernate的主配置文件 ...

  4. 大数运算的算法设计和C++实现

    1.背景 工作中遇到过需要进行极大数据的存储和运算的场景,当时使用Python解决了这个问题,在Python中,整数没有位数限制,使用起来很方便.但是当程序主体使用C/C++实现时,就比较麻烦.所以考 ...

  5. NodeJS FTP模块使用

    模块说明:https://www.npmjs.com/package/ftp 上传文件 建立连接-> 判断文件夹是否存在->创建文件夹->上传文件->End 核心代码: 连接参 ...

  6. linux新建用户并赋管理员权限

    输入useradd新建一个用户 [root@java-devenv ~]# useradd yaoqi [root@java-devenv ~]# passwd yaoqi passwd 是修改用户密 ...

  7. ReactiveCocoa--RACTuple

    基本信息 例子 [[self rac_signalForSelector:@selector(tableView:didSelectRowAtIndexPath:) fromProtocol:@pro ...

  8. mybatis代码生成器

    mybatis代码生成器 1.pom.xml文件添加依赖 <build> <finalName>mybatis</finalName> <pluginMana ...

  9. cookie session的共同点和区别

    由于HTTP协议是无状态的,在WEB系统中,怎么识别请求来自于哪里呢?是哪一个用户发起的请求呢? 为了解决这一个问题, HTTP协议引入了cookie和session这两个概念 cookie是服务器传 ...

  10. centos7上安装ffmpeg

    FFmpeg介绍 FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件).它提供了录制.转换以及流化音视频的完整解决方案.它包含了非常先进的音 ...