一、筛选

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. 跨 C++ 和蓝图边界调用函数

    (主要内容来自官方文档,加入了一些自己的理解) 下面都假设C++中有个函数名称为SomeFunction. 蓝图中调用C++函数: 在C++函数声明前加入BlueprintImplementableE ...

  2. JavaScript toFixed()、toExponential、toPrecision方法

    JavaScript toFixed() 定义和用法 toFixed() 方法可把 Number 四舍五入为指定小数位数的数字. 语法 NumberObject.toFixed(num) 参数 描述 ...

  3. 从Mybatis中#和$的区别到SQL预编译

    #和$的区别 Mybatis中参数传递可以通过#和$设置.它们的区别是什么呢? # Mybatis在解析SQL语句时,sql语句中的参数会被预编译为占位符问号? $ Mybatis在解析SQL语句时, ...

  4. 源码搭建mysql5.7.20

    转载过来的文章,只是借用原文样式与框架,根据自己实验环境进行全面改动,仅供参考! 使用yum安装的MySQL一般版本比较旧,但是运行稳定.如果想要尝试最新的功能或者需要指定特殊的功能的话,就需要手工进 ...

  5. java将url里面的中文改成ASCII字符集 和 SCII字符集 改成 中文

    package com.example.demo; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; / ...

  6. CSS - 初始值、指定值、计算值、应用值、实际值

    初始值:未提供指定值且未从父元素指定值继承的 CSS 属性的值. 指定值:通过直接声明或 CSS 属性的值. 计算值:通过需要计算得到的值,如,继承和相对的尺寸.(注意:有些计算要等到布局确定才能进行 ...

  7. leetcode 62. 不同路径(C++)

    一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为“Finish”). 问总共有多 ...

  8. day57——ajax之初体验

    转行学开发,代码100天——2018-05-12 今天是一个特别的日子——首先是母亲节,在此也祝福亲爱的妈妈健康长寿.其次今天是汶川大地震10周年,10年过去了,经历过苦难的人更加坚毅勇敢地面向未来! ...

  9. mongodb 语法小结

    数据库 一个mongodb中可以建立多个数据库. MongoDB的默认数据库为"db",该数据库存储在data目录中. MongoDB的单个实例可以容纳多个独立的数据库,每一个都有 ...

  10. mysql analyze和optimize

    Analyze Table MySQL 的Optimizer(优化元件)在优化SQL语句时,首先需要收集一些相关信息,其中就包括表的cardinality(可以翻译为“散列程度”),它表示某个索引对应 ...