文档章节

jQuery对象中类数组的概念及操作

Adam-Lee
 Adam-Lee
发布于 2014/07/17 11:44
字数 1492
阅读 171
收藏 0

jQuery类数组如果转换成真正的数组?

var a = $("a");

console.log(a instanceof Array); //false

var a1 = [].slice.call(a);

var a2 = a.get(); //get()为jQuery方法

var a3 = a.toArray(); //toArray为jQuery方法

console.log(a1 instanceof Array); //true

console.log(a2 instanceof Array); //true

console.log(a3 instanceof Array); //true

测试发现,jQuery类数组仅可以使用数组的push,slice,sort方法,但不能使用shift,unshift,pop,reverse,concat,join

 

 jQuery对类数组的操作还提供了哪些方法呢?

andSelf():合并命令链内最近产生的两个类数组;

add(String|elem|Array):把参数中的元素添加到类数组中,如果参数是jQuery选择器,那么将把所有匹配的对象都添加到集合中, 如果是html元素那就通过clean方法得到的元素数组添加到集合中,如果是dom元素或dom元素数组,那就直接添加到集合了;注意返回的是添加后的数组;

contains(text):返回包含text参数所传入的文本字符串的元素所组成的新类数组;

clone(copyHandle):如果传入的参数为true,那么会连带事件一起拷贝,否则不拷贝事件,形成一个新的类数组;

childen():返回原始类数组元素的所有不同子元素所组成的新类数组(不包含文本节点),如$(‘div’).children()返回所有div元素下的子元素所组成的新类数组;如果指定了参数,那么该参数也是筛选表达式;

contents():返回原始类数组元素的内容新类数组(可以包含文本节点);注意此方法不能接受参数进行过滤;

end():在jQuery命令链内调用,以便返回退到前一个类数组;

find(String):返回包含原始类数组里与传入的选择器表达式相匹配的所有元素的新类数组,并且原始类数组中的元素的后代也会被传入新的类数组;

filter(String|function):如 果传入的参数是String类型的话,那么该表达式必须也是筛选表达式,用于从类数组里删除所有与选择器不匹配的元素;如果传入的是一个函数的话,那么类 数组中的每个元素都调用这个函数,若这个函数返回false则把这个元素从类数组中删除,而在函数中可以通过this关键字来调用当时类数组中调用方法的 元素;如$(‘td’).filter(function(){return this.innerHTML.match(/^”d+$/)})返回td中的内容为数字的所有td元素;

get(index):当没指定index时,以数组形式返回所有元素,如果指定了index,则返回下标为index对应的 元素。

index(elem):在类数组中返回元素elem所在的下标,如果没找到该元素则返回-1,如果不带elem参数则返回0;

is(String):如果类数组中含有String匹配的元素,那么返回true,否则返回false;

not(String|elem|Array):删除类数组中满足条件的元素

parent():返回原始类数组所有元素的唯一直接父元素的新类数组;如果指定了参数,那么该参数也是筛选表达式;

parents():返回原始类数组所有元素的祖先元素的新类数组;如果指定了参数,那么该参数也是筛选表达式;

prev():返回原始类数组元素的所有唯一的上一个兄弟元素组成的新类数组;如果指定了参数,那么该参数也是筛选表达式;

prevAll():返回包含原始类数组元素的所有前面兄弟元素的新类数组;如果指定了参数,那么该参数也是筛选表达式;

next():返回原始类数组元素的所有唯一的下一个兄弟元素所组成的新类数组;如果指定了参数,那么该参数也是筛选表达式;如$(‘div#someDiv’).next()返回包含id为someDiv的div元素的下一个兄弟元素的类数组;如果指定了参数,那么该参数也是筛选表达式;

nextAll():返回包含原始类数组元素的所有后续兄弟的新类数组;如$(‘div#someDiv’).nextAll()返回包含id为someDiv的div元素的后面兄弟元素的新类数组;如果指定了参数,那么该参数也是筛选表达式;

slice(begin,end):创建并返回新的类数组,该类数组是原来类数组的连续的一部分,且新类数组的第一个 元素是原类数组中的begin位置的元素,而最后一个元素是end位置元素的前一元素,当然end可以不指定,那么将延伸到原始类数组的末尾; 如$(‘*’).slice(2,3)这个语句选择页面上的所有元素,然后生存包含原始类数组的第三个元素的新类数组,注意这 个$(‘*’).get(2)不同,这个返回的是元素,而slice方法返回的是类数组,从而拥有类数组的操作;

siblings():返回包含原始类数组元素中的所有唯一兄弟元素所组成的新类数组;如果指定了参数,那么该参数也是筛选表达式;

size():返回包类数组中的元素个数

各个方法具体的使用,可查看jQuery的api:http://api.jquery.com/


© 著作权归作者所有

Adam-Lee
粉丝 50
博文 118
码字总数 166965
作品 0
深圳
程序员
私信 提问
Zepto.js简介(第二章)

接着上章的继续记录。 zepto 特点: 1、体积8kb 2、针对移动端的框架 3、语法同jquery大部分一样,都是$为核心函数 4、目前功能完善的框架体积最小的左右 zepto同jquery不同的API attr同pro...

张靖bibibi
2018/06/22
0
0
从零实现一个简易的jQuery框架之二—核心思路详解

如何读源码 整体框架甚是复杂,也不易读懂。但是若想要在前端的路上走得更远、更好,研究分析前端的框架无疑是进阶路上必经之路。但是庞大的源码往往让我们不知道从何处开始下手。在很长的时...

余大彬
2018/08/08
0
0
Java程序员从笨鸟到菜鸟之(八十八)跟我学jquery(四)JQuery框架操作元素的属性与样式

在前面几篇博客中,我们初步了解了一下jquery的好处,基本语法,还有一些基本函数,这是学习jquery的基础,在这篇博客中,我们一起来学习一下JQuery框架操作元素的属性与样式,在web开发中,...

长平狐
2012/11/12
50
0
JS对象与Dom对象与jQuery对象之间的区别

前言 通过问题看本质: 举例: js的写法:document.getElementById('save').disabled=true; 在jquery中我是这样写的 分析: 其实因为$("#save")出来的其实是jQuery对象,而不是普通DOM对象 解......

苦水润喉
2018/08/16
0
0
Python全栈 Web(jQuery 一条龙服务)

jQuery 1.jQuery介绍 jQuery是一个轻量级的JS库 - 是一个被封装好的JS文件,提供了更为简便的元素操作方式 核心理念:Write Less Do More jQuery版本: jQuery 2.x 不再支持IE6.7.8 jQuery 1.11...

巴黎香榭
2018/09/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

npm 发布webpack插件 webpack-html-cdn-plugin

初始化一个项目 npm init 切换到npm源 淘宝 npm config set registry https://registry.npm.taobao.org npm npm config set registry http://registry.npmjs.org 登录 npm login 登录状态......

阿豪boy
29分钟前
55
0
java基础(16)递归

一.说明 递归:方法内调用自己 public static void run1(){ //递归 run1(); } 二.入门: 三.执行流程: 四.无限循环:经常用 无限递归不要轻易使用,无限递归的终点是:栈内存溢出错误 五.递...

煌sir
34分钟前
35
0
REST接口设计规范总结

URI格式规范 URI中尽量使用连字符”-“代替下划线”_”的使用 URI中统一使用小写字母 URI中不要包含文件(脚本)的扩展名 URI命名规范 文档(Document)类型的资源用名词(短语)单数命名 集合(Co...

Treize
今天
57
0
CentOS-配置YUM源加速(阿里云、Nexus3)

备份本地源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 配置CentOS6 $ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/......

-自由人生-
今天
80
0
我如何获取一周中开始的DateTime?

我如何只知道C#中的当前时间来查找一周的开始(星期日和星期一)? 就像是: DateTime.Now.StartWeek(Monday); #1楼 丑陋,但至少可以给您正确的日期 通过系统设置星期开始时间: publ...

javail
今天
55
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部