说一说Jquery中的empty()与remove()的区别和用法
今天在改一个新人写的代码,好吧,我承认改代码比自己写代码要来的痛苦。
主要是在测试一个table。table中有一列是删除操作。我的删除功能是 这样的,当点击删除的时候,判断这个table中的tr行是否大于1,如果等于1的话,我就查询上一页的数据(因为此页仅有的一条数据将会从数据库中删除)。如果大于1的话,就继续重新查询这条数据。(本来以我的作风就不再调用查询接口查询数据,我会直接将table中的这一行从页面中删除掉,但是原代码是新同事写的,我就没有这样去做了。就直接在他的基础上去改了。他的本意是删除之后直接调用查询,但是他查询的永远是第一页的数据,其实这样是不合理的。)
然后我这边的判断就会出问题了,永远是大于1.
后来我终于发现原因。新人的写法大致是这样的(我简写出来显示给大家看的)

大家可以看到,查询方法的第一个用到的是empty()。在ajax请求成功以后,用的是append。这样的话,页面中反复分页查询的时候,如果去审查元素就会发现,tbody里面有很的空的<tr></tr>。这就是为什么当我去判断tbody中tr的长度的时候,总是大于1。在这里,我们应该用$("table tbody tr").remove()才行。
那么总结一下,什么时候该用到empty()和remove()呢?
其实empty()就是将元素内容置空。比方这样的一个<label>name</labe>这个时候,我们如果要替换内容,可以用$("label").empty(),和$("label").text("")类似。
如果$("label").remove().就是将这个label元素直接移除了。那么审查元素的时候,就个元素就不存在了。
所以在做项目中的时候,要合理利用这两个方法。
两个方法各有各的好处,我用的比较多的是remove()。
说一说Jquery中的empty()与remove()的区别和用法的更多相关文章
- jQuery中的bind() live() delegate()之间区别分析
jQuery中的bind() live() delegate()之间区别分析 首先,你得要了解我们的事件冒泡(事件传播)的概念,我先看一张图 1.bind方式 $('a').bind('click', ...
- 深入理解jQuery中live与bind方法的区别
本篇文章主要是对jQuery中live与bind方法的区别进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助 注意如果是通过jq添加的层和对象一定要用live(),用其他的都不起作用 ...
- jQuery中attr和prop方法的区别说明
jquery中attr和prop的基本区别可以理解为:如果是内置属性,建议用prop,如果是自定义的建议用attr. 例如 <input type=check node=123 id=ck & ...
- jquery中的$().each和$.each的区别
jquery中的$().each和$.each的区别 注意:jquery中的$().each和$.each的区别,前者只能遍历数组,后者可以遍历数组和对象 备注:sinobook项目中地名本体相关地按 ...
- jQuery中attr和prop方法的区别
jQuery中attr和prop方法的区别。 http://my.oschina.net/bosscheng/blog/125833 http://www.javascript100.com/?p=8 ...
- jquery中的this与$(this)的区别总结(this:html元素)($(this):JQuery对象)
jquery中的this与$(this)的区别总结(this:html元素)($(this):JQuery对象) 一.总结 1.this所指的是html 元素,有html的属性,可用 this.属性 ...
- jquery 中 html与text函数的区别
jquery 中 html与text函数的区别 共同点:它们都能讲函数中的参数渲染到页面中: 异同点: text() 只是简单的讲参数的内容写入到页面中: html() 会根据参数的值,判断是否字体符 ...
- 前端开发入门到进阶附录一【JQuery中parent(),parents(),parentsUntil()区别和使用技巧】
JQuery中parent(),parents(),parentsUntil()区别和使用技巧:https://blog.csdn.net/china1223/article/details/5193 ...
- Linq中 AsQueryable(), AsEnumerable()和ToList()的区别和用法
Linq中 AsQueryable(), AsEnumerable()和ToList()的区别和用法:在写LINQ语句的时候,往往会看到AsEnumerable() ,AsQueryable() 和T ...
随机推荐
- python_adb 图形界面获取app测试数据,并展示部分测试报告v1.0版本
想到平时想用adb 我就忍不住去翻开笔记,脑子记不住,不好使,不知道大家有没有这个想法呢,不管你有没有,反正我有了,ttm,太烦人了,于是乎,我就开始给自己写个需求文档, 这就是我写的,产品需求,合理 ...
- Hibernate入门(五)
一 Hibernate继承映射 我们可以将继承层次结构类与数据库的表映射. 1. 每个层次类一张表 这个层次结构有三个类,Employee是Regular_Employee和Contract_Empl ...
- git常用命令,助你快速入门
git是程序员中最常用的版本控制工具,学会git的基本使用是十分重要,特别是在公司里面的协同开发,废话不多说,下面贴出常用的命令. 1.基本配置 # 既然git是多人协同的工具,别人要看到你提交代码的 ...
- 摘记:LoadRunner
infrastructure 基础结构 Load Testing:性能测试 predicts system behavior and performance exercises your entire ...
- Kafka官方文档翻译——实现
IMPLEMENTATION 1. API Design Producer APIs Producer API封装了底层两个Producer: kafka.producer.SyncProducer ...
- Elasticsearch5.0.1安装
最新研究了下ES5.0,ES就是为高可用和可扩展而生的,你可以很方便的增加也减少一个节点.顺便记录下安装过程,也方便以后查看. 1 安装部骤 1.1 安装JDK ES依赖于 ...
- js判断密码强度是否符合
/** 判断密码强度是否符合 */ function check_passwd_intensity(password) { value = $.trim(password); if( value.le ...
- LVS工作模式与调度算法
LVS三种工作模式.十种调度算法介绍 工作模式介绍: 1.Virtual server via NAT(VS-NAT) 优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统,物理服务器可以分配 ...
- springboot1.5.4 配置druid1.1.0(使用druid-spring-boot-starter)
原文:https://github.com/x113773/testall/issues/11 ### Druid 最近发布了1.1.0 版本,并且提供了 [druid-spring-boot-sta ...
- iOS 实时录音和播放
需求:最近公司需要做一个楼宇对讲的功能:门口机(连接WIFI)拨号对室内机(对应的WIFI)的设备进行呼叫,室内机收到呼叫之后将对收到的数据进行UDP广播的转发,手机(连接对应的WIFI)收到视频流之 ...