一、筛选

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. Navicat 出现的[Err] 1146 - Table 'performance_schema.session_status' doesn't exist已解决

    [Err] 1146 - Table 'performance_schema.session_status' doesn't exist已解决   刚刚接触MySQL,就往数据库添加数据,就遇到这个问 ...

  2. asp.net能否上传文件夹下所有文件

    HTML部分 <%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="index.aspx. ...

  3. 可恶!学了这么久的LCA,联考的题目却是LCA+树形DP!!!可恶|!!!这几天想学学树形DP吧!先来一道入门题HDU 1520 Anniversary party

    题目描述 某大学有N个职员,编号为1~N.他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司.现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri, ...

  4. 树状数组板子 x

    树状数组! 参考 http://www.cnblogs.com/zzyh/p/6992148.html 洛谷 P3374 [模板]树状数组 1 题目描述 如题,已知一个数列,你需要进行下面两种操作: ...

  5. 【bzoj3676】[Apio2014]回文串

    *题目描述: 考虑一个只包含小写拉丁字母的字符串s.我们定义s的一个子串t的“出现值”为t在s中的出现次数乘以t的长度.请你求出s的所有回文子串中的最大出现值. *输入: 输入只有一行,为一个只包含小 ...

  6. UNR#3 Day1——[ 堆+ST表+复杂度分析 ][ 结论 ][ 线段树合并 ]

    地址:http://uoj.ac/contest/45 第一题是鸽子固定器. 只会10分.按 s 从小到大排序,然后 dp[ i ][ j ][ k ] 表示前 i 个元素.已经选了 j 个.最小值所 ...

  7. 前端入门——day1(简介及推荐书籍和网站)

    写给谁 这篇文章写给想要入门前端或者刚入门前端的小白~如果是已经工作好几年的小伙伴们可以直接跳过这一系列文章啦. 为啥写这篇文章 终于决定给自己挖这个坑了,之前一直没打算写这样的系列文章.回想起自己的 ...

  8. 数据库为什么使用B+树而不是B树

    B树和B+树的区别主要有两点: 在B树中,你可以将键和值存放在内部节点和叶子节点,但在B+树中,内部节点都是键,没有值.叶子节点同时存放键和值 B+树的叶子节点有一条链相连,而B+树的叶子节点各自独立 ...

  9. HDU 6592 (LIS+输出字典序最大最小)

    题意:给你一个序列,让你找长度最长的字典序最小和最大的单峰序列,单峰序列就是满足先增后降的序列. 思路:先正着求一遍LIS,再反着求一遍LIS,然后用单调栈来模拟. 求字典序最小的话,首先找到第一个顶 ...

  10. scroll-view组件

    <scroll-view></scroll-view> 组件 这个组件的属性:(是要不说属性值,写不写都可以(建议不写)) scroll-x:允许横向滚动 (如果你设这个属性就 ...