jQuery 学习5 添加元素

 
同学们,这节课,使用jQuery动态添加元素,是很关键的一课,一般用在什么地方呢:别人发表一篇文章,你评论楼主的时候,总不能是提交表单,到后台的其他页面处理,然后再刷新回来吧,这样的话,用户体验不好。考虑一下用户的计算机配置不好、网络不好等多个因素,总是刷新页面,会造成等待的时间太长。甚至有的浏览器直接刷新不出来了,那么用户就抓狂了,就对你的产品有怨言。
 
所以,我们做前端,要实现动态添加,以后再使用ajax这类异步刷新和后台交互就可以了,那么多的不说,我们现在学的阶段,就掌握前端的静态、动态就好了。
 
jQuery添加元素,提供了四个方法:
  • append() - 在被选元素的结尾插入内容
  • prepend() - 在被选元素的开头插入内容
  • after() - 在被选元素之后插入内容
  • before() - 在被选元素之前插入内容
以上是引用w3c教程里的
 
四个几乎都是一样的,只是插入的内容位置不一样,所以说,只要掌握到其中一个,其他的,都是 soez,老师这里就展示append()方法,在被选中元素的结尾处添加内容,是什么样子的呢?我们看代码,看页面效果:
 
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>jQuery 学习5 添加元素</title>
<!--使用jQuery一定不要忘记引用jQuery文件-->
<script src="../js/jquery-1.12.2.min.js"></script>
<style>
#div1 {
margin: auto;
width: 750px;
border: 1px solid #dedede;
padding:15px;
}
#div1-1 img{
width: 75px;
}
.div1-2{
margin-top:30px;
}
.div1-2 img{
width: 75px;
}
.y{
float: right;
}
.content{
background-color: #dedede;
padding: 10px;
margin-top:20px;
}
#div2{
margin: auto;
width: 750px;
margin-top:20px;
}
#div2 input{
width: 80%;
height: 30px;
}
</style>
</head>
<body>
<!--给一个最外层的div,做父级管理-->
<div id="div1">
<!--这层div是管理楼主的-->
<div id="div1-1">
<!--这是楼主的头像-->
<img src="../img/3.jpg" alt="头像"/>
<span>楼主的名字</span>
<!--给时间一个右浮动,跑到右边去-->
<span class="y">2017-09-20 11:00:00</span>
<!--这个div是管理楼主发表的内容的-->
<div class="content">
说出你的名字,我好记住。。。。
</div>
</div>
<!--这下面的div是路人评论的-->
<div class="div1-2">
<!--路人的头像-->
<img src="../img/4.png" alt="路人头像"/>
<span>路人的名字</span>
<!--给时间一个右浮动,跑到右边去-->
<span class="y">2017-09-20 11:01:00</span>
<!--这个div是管理路人发表的内容的-->
<div class="content">
我是路人甲,我是第一个评论的。
</div>
</div>
</div>
<!--这个div放在下面,给一个输入框和发送-->
<div id="div2">
<p>请在下方输入评论内容并发送</p>
<!--给input表单元素一个id,jQuery里调用-->
<input id="neirong" type="text"/>
<!--给a标签一个点击事件-->
<a onclick="fasong()" href="javascript:;">发送</a>
</div>
<script>
function fasong(){
//判断发送的内容
if($("#neirong").val() == ''){
//如果发送的内容为空,则给出提示,并返回false 结束代码运行
alert('内容不能为空');
return false;
}
//找到id为div1的元素,然后用after()方法,在它所有元素的最后面添加以下的内容
$("#div1").append(
'<div class="div1-2">' +
'<img src="../img/4.png" alt="路人头像"/>' +
'<span style="margin-left: 8px;">路人的名字</span>' +
'<span class="y">2017-09-20 11:01:00</span>' +
'<div class="content">' +
$("#neirong").val() +
'</div>'
);
//内容发表成功后,就设置成没有内容
$("#neirong").val('');
}
</script>
</body>
</html>
 
打开页面测试代码,输入内容,如果内容为空,则给出提示,如果有内容,则添加相应的所有元素和内容。不过这里,因为是只有前端,没有后台数据库的原因,并且老师给出的操作,这里的头像、姓名、时间,都是固定的,只有内容是我们输入的内容,是可变化的。
我们在页面,检查源码,可以看到,我们添加的内容,它是在id为div1最后出现的,这就是append()方法,在被选中元素的结尾处添加内容,记住,是结尾处,所以说,添加的内容永远都是在最后面出现的,这样就能实现页面静态添加了。以后再使用ajax这类异步访问后台,添加数据库,一切OK!就能实现动态添加,而并不用总是刷新页面提交,给用户给高效的体验。
 
老师这里演示的是append(),其意思是“在被选中的元素结尾处添加内容”,同学们只要掌握这一个,那么其他三个都是一样的,只是位置不一样罢了。
 
不过,使用此方法添加内容,也有一些问题的,并非bug,所以问题不大,但是做一些功能或者效果什么的,就会存在一定的问题,有兴趣的同学,可以自己尝试,也可以发问。
 

第二十三篇 jQuery 学习5 添加元素的更多相关文章

  1. 第二十一篇 jQuery 学习3 特效效果

    jQuery 学习3   这节课主要是学习jQuery的动态效果. show()和hide()显示与隐藏方法,toggle()方法,fadeIn()谈入,fadeOut()谈出,slideDown() ...

  2. Python开发【第二十三篇】:持续更新中...

    Python开发[第二十三篇]:持续更新中...

  3. 第二十六篇 jQuery 学习8 遍历-父亲兄弟子孙元素

    jQuery 学习8 遍历-父亲兄弟子孙元素   jQuery遍历,可以理解为“移动”,使用“移动”还获取其他的元素.   什么意思呢?老师举一个例子: 班上30位同学,我是新来负责教这个班学生的老师 ...

  4. 第二十四篇 jQuery 学习6 删除元素

    jQuery 学习6 删除元素   上节课我们做了添加元素,模拟的是楼主发的文章,路人评论,那么同学们这节课学了删除之后,去之前的代码上添加一个删除,模拟一个楼主删除路人的评论. jQuery的删除方 ...

  5. 第二十五篇 jQuery 学习7 获取并设置 CSS 类

    jQuery 学习7 获取并设置 CSS 类   jQuery动态控制页面,那么什么是动态呢?我们就说一下静态,静态几乎又纯html+css完成,就是刷新页面之后,不会再出现什么变动,一个实打实的静态 ...

  6. 第二十二篇 jQuery 学习4 内容和属性

    jQuery 内容和属性   这节课,我们学习使用jQuery来控制元素的内容.值和属性.   html() 控制所选元素的内容(包括HTML标记): text() 控制所选元素的内容: val() ...

  7. 第二十篇 jQuery 初步学习2

    jQuery 初步学习2   前言:   老师这里啰嗦一下,因为考虑到一些同学,不太了解WEB前端这门语言.老师就简单的说一下,写前端,需要什么:一台笔记本.一个文本编辑器.就没啦!当然,写这门语言, ...

  8. (高级篇)jQuery学习之jQuery Ajax用法详解

    jQuery Ajax在web应用开发中很常用,它主要包括有ajax,get,post,load,getscript等等这几种常用无刷新操作方法,下面我来给各位同学介绍介绍. 我们先从最简单的方法看起 ...

  9. SpringBoot第二十三篇:安全性之Spring Security

    作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/11350255.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言   系统的安全 ...

随机推荐

  1. [windows菜鸟]C#中调用Windows API参考工具

    很多windows API都不知道签名,可以从下面几种方式进行查询 1.微软出的工具 P/Invoke Interop Assistant version 1.0 2.网站 pinvoke.net 3 ...

  2. Android jni/ndk编程三:native访问java

    一.访问静态字段 Java层的field和method,不管它是public,还是package.private和protected,从 JNI都可以访问到,Java面向语言的封装性不见了. 静态字段 ...

  3. 解剖PTP协议

    一. PTP是什么? 英文为Precise Time Protocol,翻译过来就是精确时间协议 二. 为何会出现PTP? 大家想必是知道NTP的存在,然而NTP的精度很低,只能达到毫秒级别的精度,那 ...

  4. OpenCV学习笔记(13)——轮廓特征

    查找轮廓的不同特征,例如面积,周长,重心,边界等 1.矩 图像的矩可以帮助我们计算图像的质心,面积等. 函数cv2.momen()会将计算得到的矩以一个字典的形式返回, 我们的测试图像如下: 例程如下 ...

  5. 标准C++常用头文件及描述

    #include <algorithm> //STL 通用算法 #include <bitset> //STL 位集容器 #include <cctype> //字 ...

  6. JMeter使用plugins插件进行服务器性能监控

    JMeter使用plugins插件进行服务器性能监控 性能测试时,我们的关注点有两部分 1 服务本身:并发响应时间 QPS 2 服务器的资源使用情况:cpu memory I/O disk等 JMet ...

  7. 几种排序算法及Java实现排序的几种方式

    几种排序算法 下面的例子介绍了4种排序方法: 冒泡排序, 选择排序, 插入排序, 快速排序 package date201709.date20170915; public class SortUtil ...

  8. 实验一 part2

    #include <stdio.h> int main () { int x; printf("输入一个整数:\n"); scanf("%d",&a ...

  9. Nginx的root和alias区别

    1.root 下面举例说明: location /i/ { root /data/w3; } 请求 http://foofish.net/i/top.gif 这个地址时,那么在服务器里面对应的真正的资 ...

  10. 在C语言中函数及其调用过程

    目录 函数 C语言中的变参函数 函数的本质是什么 内存区域的区分技巧 函数的调用过程 栈帧的概念 调用过程细节 按照约定传参 函数 如果一个函数有声明没实现,那么就会出现链接错误: 以上代码会出现链接 ...