一、筛选

1、eq(index|-index)

说明:获取当前链式操作中第N个jQuery对象,返回jQuery对象,类似的有get(index),不过get(index)返回的是DOM对象

示例:

描述:获取匹配的第二个元素

HTML代码:

<p> This is just a test.</p>
<p> So is this</p>

jQuery代码:

$('p').eq(1);

结果:

[ <p> So is this</p> ]

2、first()

说明:获取第一个元素

示例:

描述:获取匹配的第一个元素

HTML代码:

<ul>
<li>list item 1</li>
<li>list item 2</li>
<li>list item 3</li>
<li>list item 4</li>
<li>list item 5</li>
</ul>

jQuery代码:

$('li').first();

结果:

[ <li>list item 1</li> ]

3、last()

说明:获取最后个元素 示例不再赘述

4、hasClass(class)

说明:检查当前元素是否含有某个特定的类,如果有则返回true,否则返回false,这其实就是is('.' + class)

示例:
描述:给包含某个类的元素进行一个动画

HTML代码:

 <div class="protected" style="height: 20px;width: 20px;background-color: #2459a2;position: relative"></div>
<div></div>

jQuery代码:

$("div").click(function(){
if ( $(this).hasClass("protected") )
$(this)
.animate({ left: -10 })
.animate({ left: 10 })
.animate({ left: -10 })
.animate({ left: 10 })
.animate({ left: 0 });
});

5.filter(expr|obj|ele|fn)

说明:筛选出与制定表达式匹配的元素集合

示例:

描述:保留带有select类的元素

   保留第一个元素和带有select类的元素

   保留子元素中不含有ol的元素。

HTML代码:

<p>Hello</p>
<p>Hello Again</p>
<p class="selected">And Again</p>

//保留子元素中不含有ol的元素。
<p> 
<ol>   
<li>Hello</li> 
</ol>
</p>
<p>How are you?</p>

jQuery代码:

$('p').filter('.selected');

$('p').filter('.selected,:first');
//保留子元素中不含有ol的元素。
$('p').filter(function (index) {
console.log(index,this);
return $('ol',this).length == 0;
});

结果:

[ <p class="selected">And Again</p> ]

[ <p>Hello</p>, <p class="selected">And Again</p> ]
//保留子元素中不含有ol的元素。
[ <p>How are you?</p> ]

6、is(expr|obj|ele|fn)

说明:根据选择器、DOM元素或 jQuery 对象来检测匹配元素集合,如果其中至少有一个元素符合这个给定的表达式就返回true。

   如果没有元素符合,或者表达式无效,都返回'false'。 '''注意:'''在jQuery 1.3中才对所有表达式提供了支持。在先前版本中,如果提供了复杂的表达式,比如层级选择器(比如 + , ~ 和 > ),始终会返回true

示例:

描述:判断input元素的父元素是否为from元素

   判断点击li标签增加背景色为红色,如果点击的是第2个strong,当前的li增加背景色为绿色,

HTML代码:

//示例一
<form>
<input type="checkbox" />
</form> //示例二
<ul>
<li><strong>list</strong> item 1 - one strong tag</li>
<li><strong>list</strong> item <strong>2</strong> - two <span>strong tags</span></li>
<li>list item 3</li>
</ul>

jQuery代码:

$('input[type="checkbox"]').parent().is('form');

$('li').click(function () {
var $li = $(this);
isTwo = $li.is(function () {
return $('strong',this).length === 2;
});
if(isTwo){
$li.css('background-color','green');
}else{
$li.css('background-color','red');
}
});

结果:

true
暂时无法展示

7.map(callback)

说明:待学习

8.has(expr|ele)

说明:保留包含特定后代的元素,去掉那些不含有指定后代的元素。

     .has()方法将会从给定的jQuery对象中重新创建一组匹配的对象。提供的选择器会一一测试原先那些对象的后代,含有匹配后代的对象将得以保留。

示例:

描述:给含有ul的li加上背景色

HTML代码:

<ul>
<li>list item 1</li>
<li>list item 2
<ul>
<li>list item 2-a</li>
<li>list item 2-b</li>
</ul>
</li>
<li>list item 3</li>
<li>list item 4</li>
</ul>

jQuery代码:

 $('li').has('ul').css('background-color','red');

9.not(expr|ele|fn)

说明:从匹配元素的集合中删除与指定表达式匹配的元素

示例:

描述:从p元素中删除带有 select 的ID的元素

HTML代码:

<p>Hello</p>
<p id="selected">Hello Again</p>

jQuery代码:

$("p").not( $("#selected")[0] )

结果:

[ <p>Hello</p> ]

10、slice(start, [end])

说明:选取一个匹配的子集,与原来的slice方法类似

示例:

描述:选择第一个元素p

HTML代码:

<p>Hello</p>
<p>cruel</p>
<p>World</p>

jQuery代码:

$("p").slice(0, 1).wrapInner("<b></b>");

结果:

[ <p><b>Hello</b></p> ]

11、children([expr])

说明:取得一个包含匹配的元素集合中每一个元素的所有子元素的元素集合。

   可以通过可选的表达式来过滤所匹配的子元素。注意:parents()将查找所有祖辈元素,而children()只考虑子元素而不考虑所有后代元素。

示例:查找每个div中的子元素

   在每个div中查找 .selected 的类。

HTML代码:

//示例一
<p>Hello</p>
<div>
<span>Hello Again</span>
<p><span>Thank you</span></p>
</div>
<p>And Again</p> //示例二
<div><span>Hello</span>
<p class="selected">Hello Again</p>
<p>And Again</p>
</div>

jQuery代码:

$('div').children();
$('div').children('.selected');

结果:

[ <span>Hello Again</span>,<p><span>Thank you</span></p>]
[ <p class="selected">Hello Again</p> ]

12.find(expr|obj|ele)

说明:搜索所有与指定表达式匹配的元素。这个函数是找出正在处理的元素的后代元素的好方法。

   所有搜索都依靠jQuery表达式来完成。这个表达式可以使用CSS1-3的选择器语法来写。

示例:

描述:从所有的段落开始,进一步搜索下面的span元素。与$("p span")相同。

HTML代码:

<p>
<span>Hello</span>, how are you?
<span>World</span>
</p>

jQuery代码:

$('p').find('span');

结果:

[ <span>Hello</span>,<span>World</span> ]

13、next([expr])

说明:取得一个包含匹配的元素集合中每一个元素紧邻的后面同辈元素的元素集合。

   这个函数只返回后面那个紧邻的同辈元素,而不是后面所有的同辈元素(可以使用nextAll)。可以用一个可选的表达式进行筛选。

示例:

描述:找到每个段落的后面紧邻的同辈元素。

HTML代码:

<p>Hello</p>
<p>Hello Again</p>
<div>
<span>And Again</span>
</div>

jQuery代码:

$("p").next()

结果:

[ <p>Hello Again</p>, <div><span>And Again</span></div> ]

14、nextAll([expr])

说明:查找当前元素之后所有的同辈元素。  

   可以用表达式过滤

示例:

描述:给第一个div之后的所有元素加个类

HTML代码:

<div></div>
<div></div>
<div></div>
<div></div>

jQuery代码:

$("div:first").nextAll().addClass("after");

结果:

[ <div class="after"></div>, <div class="after"></div>, <div class="after"></div> ]

15、nextUntil([exp|ele][,fil])

说明:查找当前元素之后所有的同辈元素,直到遇到匹配的那个元素为止

   如果提供的jQuery代表了一组DOM元素,.nextUntil()方法也能让我们找遍所有元素所在的DOM树,直到遇到了一个跟提供的参数匹配的元素的时候才会停下来。这个新jQuery对象里包含了下面所有找到的同辈元素,但不包括那个选择器匹配到的元素。

   如果没有选择器匹配到,或者没有提供参数,那么跟在后面的所有同辈元素都会被选中。这就跟用没有提供参数的 .nextAll()效果一样。

示例:

描述:给#term-2后面直到dt前的元素加上红色背景

HTML代码:

<dl>
<dt id="term-1" >term 1</dt>
<dd>definition 1-a</dd>
<dd>definition 1-b</dd>
<dd>definition 1-c</dd>
<dd>definition 1-d</dd> <dt id="term-2">term 2</dt>
<dd>definition 2-a</dd>
<dd>definition 2-b</dd>
<dd>definition 2-c</dd> <dt id="term-3" >term 3</dt>
<dd>definition 3-a</dd>
<dd>definition 3-b</dd>
</dl>

jQuery代码:

$('#term-2').nextUntil('dt').css('background-color', 'red');

var term3 = document.getElementById("term-3");
$("#term-1").nextUntil(term3, "dd").css("color", "green");

16、parent([expr])

说明:取得一个包含着所有匹配元素的唯一父元素的元素集合。

   你可以使用可选的表达式来筛选

示例:

描述:查找每个段落的父元素

HTML代码:

//示例一
<div>
<p>Hello</p>
<p>Hello</p>
</div>

//示例二
<div>
<p>Hello</p>
</div>
<div class="selected">
<p>Hello Again</p>
</div>

jQuery代码:

$("p").parent()

$("p").parent(".selected")

结果:

[ <div><p>Hello</p><p>Hello</p></div>]

[ <div class="selected"><p>Hello Again</p></div> ]

17、parents([expr])和parentsUntil([expr|element][,filter])

说明:parents([expr]) 取得一个包含着所有匹配元素的祖先元素的元素集合(包含根元素)。可以通过一个可选的表达式进行筛选。

   parentsUntil([expr|element][,filter])  查找当前元素的所有的父辈元素,直到遇到匹配的那个元素为止。如果提供的jQuery代表了一组DOM元素,.parentsUntil()方法也能让我们找遍所有元素的祖先元素,直到遇到了一个跟提供的参数匹配的元素的时候才会停下来。这个返回的jQuery对象里包含了下面所有找到的父辈元素,但不包括那个选择器匹配到的元素。

示例:

描述: 找到每个span元素的所有祖先元素。

    查找item-a的祖先,但不包括level-1

HTML代码:

示例一
<html>
<body>
<div>
<p><span>Hello</span></p>
<span>Hello Again</span>
</div>
</body>
</html> 示例二
<ul class="level-1">
<li class="item-i">I</li>
<li class="item-ii">II
<ul class="level-2">
<li class="item-a">A</li>
<li class="item-b">B
<ul class="level-3">
<li class="item-1">1</li>
<li class="item-2">2</li>
<li class="item-3">3</li>
</ul>
</li>
<li class="item-c">C</li>
</ul>
</li>
<li class="item-iii">III</li>
</ul>

jQuery代码:

$("span").parents("p")
$('li.item-a').parentsUntil('.level-1').css('background-color', 'red');

结果:

[p, div, body, html]

18、prev([expr])

说明:取得一个包含匹配的元素集合中每一个元素紧邻的前一个同辈元素的元素集合。

   可以用一个可选的表达式进行筛选。只有紧邻的同辈元素会被匹配到,而不是前面所有的同辈元素。

示例:

描述:找到每个段落紧邻的前一个同辈元素

HTML代码:

<p>Hello</p>
<div>
<span>Hello Again</span>
</div>
<p>And Again</p>

jQuery代码:

$("p").prev()

结果:

[ <div><span>Hello Again</span></div> ]

19、prevAll([expr])和prevUntil([exp|ele][,fil])

说明:这里不再赘述,意义同parent类似

20、siblings([expr])

说明:取得一个包含匹配的元素集合中每一个元素的所有唯一同辈元素的元素集合。可以用可选的表达式进行筛选。

示例:

描述:找到每个div的所有同辈元素。

HTML代码:

<p>Hello</p>
<div>
<span>Hello Again</span>
</div>
<p>And Again</p>

jQuery代码:

$("div").siblings()

结果:

[ <p>Hello</p>, <p>And Again</p> ]

jQuery学习总结02-筛选的更多相关文章

  1. jquery学习笔记----元素筛选

    1.eq()  筛选指定索引号的元素2.first() 筛选出第一个匹配的元素3.last() 筛选出最后一个匹配的元素4.hasClass() 检查匹配的元素是否含有指定的类5.filter() 筛 ...

  2. JQuery 学习笔记--02

    JS 中的 window.onload() 方法与 Jquery 中的 $(document).read(function( ){  }) 的区别 : 加载时机不一样, window.onload() ...

  3. jQuery学习笔记(一)jQuery选择器

    目录 jQuery选择器的优点 基本选择器 层次选择器 过滤选择器 表单选择器 第一次写博客,希望自己能够长期坚持,以写博客的方式作为总结与复习. 最近一段时间开始学习jQuery,通过写一个jQue ...

  4. jQuery 学习笔记

    jQuery 学习笔记   一.jQuery概述    宗旨: Write Less, Do More.    基础知识:        1.符号$代替document.getElementById( ...

  5. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  6. 大量Javascript/JQuery学习教程电子书合集

    [推荐分享]大量Javascript/JQuery学习教程电子书合集,送给有需要的人   不收藏是你的错^_^. 经证实,均可免费下载. 资源名称 资源大小   15天学会jQuery(完整版).pd ...

  7. [推荐分享]大量Javascript/JQuery学习教程电子书合集,送给有需要的人

    不收藏是你的错^_^. 经证实,均可免费下载. 资源名称 资源大小   15天学会jQuery(完整版).pdf 274.79 KB   21天学通JavaScript(第2版)-顾宁燕扫描版.pdf ...

  8. JQuery学习笔记——基础选择器

    第一篇博客,现在原生安卓需求不大了.招聘的Android工程师都需要附带更多的其他技术.这也是开启我学习前端之路的开端.前端时间看了HTML.CSS等,在界面渲染这一块,就不多记录博客了.现在学习着J ...

  9. JQuery学习笔记——层级选择器

    JQuery学习笔记--层级选择器 上一篇学习了基础的五种选择,分别是id选择器,class选择器,element选择器,*选择器 和 并列选择器.根据手册大纲,这篇学习的是层级选择器. 选择器: 1 ...

  10. jquery实现多条件筛选特效代码分享

    本文实例讲述了jquery实现多条件筛选特效.分享给大家供大家参考.具体如下:jquery实现的多条件搜索表单带日期选择表格表单效果源码,是一段实现了多个条件筛选搜索的特效代码,多条件拥有时间.地点. ...

随机推荐

  1. Swift hash & hashValue区别

    最后更新: 2017-07-22 在Swift标准库中,NSObjectProtocol协议 public var hash: Int { get } Equatable协议: extension N ...

  2. flask中的Configuration为何这样写

    flask中的Configuration flask中,我们需要用到很多配置.我们知道最简单的flask是: from flask import Flask app = Flask(__name__) ...

  3. Dreamweaver cc新版本css单行显示

    新版本通用:(1)C:\Users\admin\Application Data\Adobe\Dreamweaver CC 2018\cloudpref\Adobe Dreamweaver CC 20 ...

  4. Qt中用QuaZip来压缩和解压缩文件

    1.简介 QuaZIP是使用Qt,C++对ZLIB进行简单封装的用于压缩ZIP以及解压缩ZIP的开源库.如果你的Qt项目当中用到了压缩以及解压缩ZIP的话你可以考虑选择使用它. 官方主页:http:/ ...

  5. LinkedTransferQueue 源码分析

    LinkedTransferQueue LinkedTransferQueue 能解决什么问题?什么时候使用 LinkedTransferQueue? 1)LinkedTransferQueue 是基 ...

  6. 数据存储-cookie、sessionstorage、localstorage

    HTML5 Web Storage sessionStorage 和 localStorage 是 HTML5 Web Storage API 提供的,可以方便的在 web 请求之间保存数据.有了本地 ...

  7. ES与CQRS之旅

    引言 领域驱动设计(Domain Driven Design),使用统一的建模语言.专注业务领域分析.采取化整为零并反复迭代的方式,以业务领域模型为圆心,向外辐射到系统轮廓的勾勒.具体模块的实现,为我 ...

  8. Vue实现音乐播放器(四):页面入口+header组件的编写

    首先下载三个包 babel-runtime对es语法进行转义 fastclick解决移动端点击300毫秒延迟的问题 babel-polyfill对es6 api进行转义 下载了包之后要在main.js ...

  9. Python 是如何进行内存管理的?python 的程序会内存泄露吗?说说有没有什么方面防止或检测内存泄露?

    Python GC主要使用 引用计数 来跟踪和回收垃圾.在引用计数的基础上,通过“标记-清除”解决容器对象可能产生的循环引用问题.通过分代 以空间换时间的方法提高垃圾回收效率 引用计数: 每个对象中都 ...

  10. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_5_文件存储的原理和记事本打开文本显示原理

    原理 流对象指向这个文件a.txt 往文件中写数据,写的时候比较特殊 97转换成二进制是多少呢? 输入97然后选择二进制.转换后为 1100001 硬盘上实际存的是97的二进制 97查询阿斯克码表就是 ...