jQuery 对象中的类数组操作

所属分类: 网络编程 / JavaScript 阅读数: 1758
收藏 0 赞 0 分享

看看我们的jQuery为我们都提供了哪些可用的方法:
  size():很明显,它应该是返回包装集中的元素个数,如$('a').size()表示链接元素的个数;
  get(index):当没指定index时就默认取包装集中所有元素,并以js中的数组形式返回,如果指定了index,则返回下标为index对应的元素,如$('img[title]').get(0)返回包含属性title的第一个img元素,其也等效于$('img[title]')[0];
  index(elem):在包装集中返回元素elem所在的下标,如果没找到该元素则返回-1;
  add(String|elem|Array):把参数中的元素添加到包装集中,如果参数是jQuery选择器,那么将把所有匹配的对象都添加到集合中,如果是html元素那就通过clean方法得到的元素数组添加到集合中,如果是dom元素或dom元素数组,那就直接添加到集合了;注意返回的是添加后的包装集;如$('img[alt]','img[title]')等效于$('img[alt]').add('img[title]')即返回包含了alt属性的img元素或包含了title属性的img元素;
  not(String|elem|Array):把包装集中满足参数条件的元素删除,注意参数只能是筛选表达式,即以"["或者":"开头的表达式,如$('img[title]').not('title*=puy')即返回包含title属性的img元素,并且这些元素的title属性中包含有puy文本;返回的是筛选之后的包装集;
  filter(String|function):如果传入的参数是String类型的话,那么该表达式必须也是筛选表达式,用于从包装集里删除所有与选择器不匹配的元素;如果传入的是一个函数的话,那么包装集中的每个元素都调用这个函数,若这个函数返回false则把这个元素从包装集中删除,而在函数中可以通过this关键字来调用当时包装集中调用方法的元素;如$('td').filter(function(){return this.innerHTML.match(/^"d+$/)})返回td中的内容为数字的所有td元素;
  slice(begin,end):创建并返回新的包装集,该包装集是原来包装集的连续的一部分,且新包装集的第一个元素是原包装集中的begin位置的元素,而最后一个元素是end位置元素的前一元素,当然end可以不指定,那么将延伸到原始包装集的末尾;如$('*').slice(2,3)这个语句选择页面上的所有元素,然后生存包含原始包装集的第三个元素的新包装集,注意这个$('*').get(2)不同,这个返回的是元素,而slice方法返回的是包装集,从而拥有包装集的操作;
  childen():返回原始包装集元素的所有不同子元素所组成的新包装集(不包含文本节点),如$('div').children()返回所有div元素下的子元素所组成的新包装集;如果指定了参数,那么该参数也是筛选表达式;
  contents():返回原始包装集元素的内容新包装集(可以包含文本节点);注意此方法不能接受参数进行过滤;
  next():返回原始包装集元素的所有唯一的下一个兄弟元素所组成的新包装集;如果指定了参数,那么该参数也是筛选表达式;如$('div#someDiv').next()返回包含id为someDiv的div元素的下一个兄弟元素的包装集;如果指定了参数,那么该参数也是筛选表达式;
  nextAll():返回包含原始包装集元素的所有后续兄弟的新包装集;如$('div#someDiv').nextAll()返回包含id为someDiv的div元素的后面兄弟元素的新包装集;如果指定了参数,那么该参数也是筛选表达式;
  parent():返回原始包装集所有元素的唯一直接父元素的新包装集;如果指定了参数,那么该参数也是筛选表达式;
  parents():返回原始包装集所有元素的祖先元素的新包装集;如果指定了参数,那么该参数也是筛选表达式;
  prev():返回原始包装集元素的所有唯一的上一个兄弟元素组成的新包装集;如果指定了参数,那么该参数也是筛选表达式;

  prevAll():返回包含原始包装集元素的所有前面兄弟元素的新包装集;如果指定了参数,那么该参数也是筛选表达式;
  siblings():返回包含原始包装集元素中的所有唯一兄弟元素所组成的新包装集;如果指定了参数,那么该参数也是筛选表达式;
  find(String):返回包含原始包装集里与传入的选择器表达式相匹配的所有元素的新包装集,并且原始包装集中的元素的后代也会被传入新的包装集;
  contains(text):返回包含text参数所传入的文本字符串的元素所组成的新包装集;
  is(String):如果包装集中含有String匹配的元素,那么返回true,否则返回false;
  clone(copyHandle):如果传入的参数为true,那么会连带事件一起拷贝,否则不拷贝事件,形成一个新的包装集;
  end():在jQuery命令链内调用,以便返回退到前一个包装集;
  andSelf():合并命令链内最近产生的两个包装集;
  对于包装元素的操作就总结到这里,如果哪里不对的还请各位指出来方便大家参考学习。

更多精彩内容其他人还在看

Angular使用Md5加密的解决方法

这篇文章主要介绍了Angular使用Md5加密的解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

详解JS构造函数中this和return

本文通过实例代码给大家介绍了JS构造函数中this和return,需要的朋友参考下吧
收藏 0 赞 0 分享

ES6中Array.find()和findIndex()函数的用法详解

ES6为Array增加了find(),findIndex函数。find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined,而findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1。下面通过实例详解,需要的朋友参考下吧
收藏 0 赞 0 分享

JS闭包的几种常见形式实例详解

本文通过实例代码给大家详细介绍了js闭包的几种常见形式,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下
收藏 0 赞 0 分享

ES6中Array.copyWithin()函数的用法实例详解

ES6为Array增加了copyWithin函数,用于操作当前数组自身,用来把某些个位置的元素复制并覆盖到其他位置上去。下面重点给大家介绍ES6中Array.copyWithin()函数的用法,需要的朋友参考下
收藏 0 赞 0 分享

Javascript 严格模式use strict详解

严格模式:由ECMA-262规范定义的JavaScript标准,对javascrip的限制更强。这篇文章主要介绍了Javascript 严格模式use strict详解 ,需要的朋友可以参考下
收藏 0 赞 0 分享

引入JavaScript时alert弹出框显示中文乱码问题

今天在HTML中引入JavaScript文件运行时,alert弹出的提示框中文显示为乱码,怎么解决此问题呢?下面小编给大家带来了引入JavaScript时alert弹出框显示中文乱码问题的解决方法,一起看看吧
收藏 0 赞 0 分享

AngularJs 延时器、计时器实例代码

这篇文章主要介绍了AngularJs 延时器、计时器实例代码,需要的朋友可以参考下
收藏 0 赞 0 分享

JS分页的实现(同步与异步)

这篇文章主要介绍了JS分页的实现(同步与异步),需要的朋友可以参考下
收藏 0 赞 0 分享

Angularjs自定义指令实现分页插件(DEMO)

由于最近的一个项目使用的是angularjs1.0的版本,涉及到分页查询数据的功能,后来自己就用自定义指令实现了该功能,下面小编把实例demo分享到脚本之家平台,需要的朋友参考下
收藏 0 赞 0 分享
查看更多