Jquery中parentsUntil函数调用最容易犯的三个错误
来自 :http://jquery01.diandian.com/post/2012-01-16/14500044
Jquery中parentsUntil函数调用最容易犯的三个错误
Jquery的parentsUntil()方法用于查找Jquery对象的祖先,使用的时候有三个问题一定要注意:
1) parentsUntil返回的是一个数组,而不是单个对象。关于这个,注意’parents’是复数就行了,表示它会返回一系列的祖先元素,在数组中越外层的元素的下标越大。
2) parentsUntil返回的数组中刚好不包括满足选择器参数条件的对象。这个有点奇怪,很容易产生误导。
3) parentsUntil返回的数组中都不是Jquery封装的对象,需要再次封装它们才能使用Jquery提供的API。这个更奇怪,连官方文档都没有说明这一点,尤其是在另一个API调用 parent()返回的是Jquery对象的情况下,parentsUntil()的这种返回类型很容易产生误导。
举例来说,如果想获得包含某元素(id=”xxx”)的最近的一个div容器,
错误写法1:
var divparent = $(“#xxx”).parentsUntil(“div”); //parentsUntil返回的是一个数组而不是单个元素
错误的写法2:
var parents = $(“#xxx”).parentsUntil(“div”);
var divparent = parents[parents.length-1]; //parentsUntil返回的数组中刚好不包括满足选择器参数条件的对象
错误的写法3:
var parents = $(“#xxx”).parentsUntil(“div”);
var divparent = parents[parents.length-1].parent(); //返回的数组中都不是Jquery封装的对象,需要再次封装它们才能使用Jquery提供的parent()调用。
正确写法:
var parents = $(“#xxx”).parentsUntil();
var divparent = $(parents[parents.length-1]).parent();
Jquery中parentsUntil函数调用最容易犯的三个错误的更多相关文章
- jQuery中ajax请求的六种方法(三、六):load()方法
6.load()方法 load的html页面 <!DOCTYPE html> <html> <head> <meta charset="UTF-8& ...
- jQuery中ajax请求的六种方法(三、五):$.getScript()方法
5.$.getScript()方法 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...
- jQuery中ajax请求的六种方法(三、四):$.getJSON()方法
4.$.getJSON()方法 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&g ...
- jQuery中ajax请求的六种方法(三、三):$.post()方法
3.$.post()方法 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...
- jQuery中ajax请求的六种方法(三、二):$.get()方法
2.$.get()方法 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...
- jQuery中ajax请求的六种方法(三、一):$.ajax()方法
1.基础的$.ajax()方法 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&g ...
- 前端开发入门到进阶附录一【JQuery中parent(),parents(),parentsUntil()区别和使用技巧】
JQuery中parent(),parents(),parentsUntil()区别和使用技巧:https://blog.csdn.net/china1223/article/details/5193 ...
- 深入jQuery中的Callbacks()
引入 初看Callbacks函数很不起眼,但仔细一瞅,发现Callbacks函数是构建jQuery大厦的无比重要的一个基石.jQuery中几乎所有有关异步的操作都会用到Callbacks函数. 为什么 ...
- jquery中,size()和length()方法有啥区别
jquery中,size()和length()方法有啥区别? size()是jQuery提供的函数,而length是属性(不带括号). jQuery提供的源代码是这样的: size: function ...
随机推荐
- Python+Selenium学习--键盘事件
场景 我们在实际的测试工作中,有时候需要使用tab键将焦点移动到下一个元素,用于验证元素的排序是否正确.webdriver的Keys()类提供键盘上所有的操作,甚至可以模拟一些组合键的操作,如Ctrl ...
- 图片Bitmap在本地的存储与读取 File
将Bitmap存储到本地: public void SaveImage(Bitmap image, String user_id){ //照片通常存在DCIM文件夹中 String sdCardDir ...
- Codeforces Beta Round #42 (Div. 2)
Codeforces Beta Round #42 (Div. 2) http://codeforces.com/contest/43 A #include<bits/stdc++.h> ...
- VS PDB文件
转 PDB文件 PDB(Program Data Base),意即程序的基本数据,是VS编译链接时生成的文件.DPB文件主要存储了VS调试程序时所需要的基本信息,主要包括源文件名.变量名.函数名.FP ...
- Delphi: TMemo垂直滚动条自动显示
项目中碰到此问题,之前一直没留意,研究一番用上,以做备忘.参考其它解决方法,不尽完美,自试之,达到效果. 直上代码: type TMemo = class(StdCtrls.TMemo) protec ...
- iOS 证书申请新步骤
2018iOS完整的证书申请和打包过程 - 简书https://www.jianshu.com/p/2b3c2693f4f2
- lombok ------让代码更简洁方便
估计在平常写代码中,都会创建entity类的实体来,都是那种创建变量,生成set get 方法,方便外部调用,你以为你很流利的操作快捷键就很方便的了? 其实不然,有一个lombok 工具可以帮我们自动 ...
- Head First Servlets & JSP 学习笔记 第四章 —— 作为Servlet
Servlet的任务是得到一个客户的请求,再发回一个响应. 请求: 容器控制着Servlet的一生,它会创建请求和响应对象.为Servlet创建一个新线程或分配一个线程,另外调用Servlet的ser ...
- eclipse 安装python后pydev不出现
一.环境 windows 7 64bit eclipse 4.5.2 pydev jdk7u55 二.安装步骤 1. 安装JDK eclipse依赖于java环境,所以需要安装java运行环境JRE. ...
- Linux网卡绑定探析
2013-08-20 15:39:31 现在很多服务器都自带双千兆网口,利用网卡绑定既能增加网络带宽,同时又能做相应的冗余,目前应用于很多的场景.linux操作系统下自带的网卡绑定模式,Linux b ...