juqery 学习之四 筛选过滤


Posted in Javascript onNovember 30, 2010

eq(index)

获取第N个元素
这个元素的位置是从0算起。

Reduce the set of matched elements to a single element.
The position of the element in the set of matched elements starts at 0 and goes to length - 1.

返回值

jQuery

参数

index (Integer) :元素在jQuery对象中的索引

示例

获取匹配的第二个元素

HTML 代码:

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

jQuery 代码:

$("p").eq(1)

结果:

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

hasClass(class)

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

Checks the current selection against a class and returns true, if at least one element of the selection has the given class.
This is an alternative to is("." + class).

返回值

Boolean

参数

class (String) : 用于匹配的类名

示例

给包含有某个类的元素进行一个动画。

HTML 代码:

<div class="protected"></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 });
});

--------------------------------------------------------------------------------------------------------------

filter(expr)

筛选出与指定表达式匹配的元素集合。
这个方法用于缩小匹配的范围。用逗号分隔多个表达式

Removes all elements from the set of matched elements that do not match the specified expression(s).
This method is used to narrow down the results of a search. Provide a comma-separated list of expressions to apply multiple filters at once.

返回值

jQuery

参数

expr (Expression) : 表达式

示例

保留带有select类的元素

HTML 代码:

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

jQuery 代码:

$("p").filter(".selected")

结果:

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

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

HTML 代码:

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

jQuery 代码:

$("p").filter(".selected, :first")

结果:

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

--------------------------------------------------------------------------------------------------------------

filter(fn)

筛选出与指定函数返回值匹配的元素集合
这个函数内部将对每个对象计算一次 (正如 '$.each'). 如果调用的函数返回false则这个元素被删除,否则就会保留。

Removes all elements from the set of matched elements that does not match the specified function.
The function is called with a context equal to the current element (just like '$.each'). If the function returns false, then the element is removed - anything else and the element is kept.

返回值

jQuery

参数

fn (Function) : 传递进filter的函数

示例

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

HTML 代码:

<p><ol><li>Hello</li></ol></p><p>How are you?</p>

jQuery 代码:

$("p").filter(function(index) {
  return $("ol", this).length == 0;
});

结果:

[ <p>How are you?</p> ]

--------------------------------------------------------------------------------------------------------------

is(expr)

用一个表达式来检查当前选择的元素集合,如果其中至少有一个元素符合这个给定的表达式就返回true。
如果没有元素符合,或者表达式无效,都返回'false'. 'filter' 内部实际也是在调用这个函数,所以,filter()函数原有的规则在这里也适用。

Checks the current selection against an expression and returns true, if at least one element of the selection fits the given expression.
If no element fits, or the expression is not valid, then the response will be 'false'. 'filter' is used internally, therefore all rules that apply there apply here, as well.

返回值

Boolean

参数

expr (String) :用于筛选的表达式

示例

由于input元素的父元素是一个表单元素,所以返回true。

HTML 代码:

<form><input type="checkbox" /></form>

jQuery 代码:

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

结果:

true

--------------------------------------------------------------------------------------------------------------

map(callback)

将一组元素转换成其他数组(不论是否是元素数组)
你可以用这个函数来建立一个列表,不论是值、属性还是CSS样式,或者其他特别形式。这都可以用'$.map()'来方便的建立。

Translate a set of elements into another set of values (which may, or may not, be elements).
You could use this to build lists of values, attributes, css values - or even perform special, custom, selector transformations. This is provided as a convenience method for using '$.map()'.

返回值

jQuery

参数

callback (Function) : 给每个元素执行的函数

示例

把form中的每个input元素的值建立一个列表。

HTML 代码:

<p><b>Values: </b></p>
<form>
  <input type="text" name="name" value="John"/>
  <input type="text" name="password" value="password"/>
  <input type="text" name="url" value="http://ejohn.org/"/>
</form>

jQuery 代码:

$("p").append( $("input").map(function(){
  return $(this).val();
}).get().join(", ") );

结果:

[ <p>John, password, http://ejohn.org/</p> ]

--------------------------------------------------------------------------------------------------------------

not(expr)

删除与指定表达式匹配的元素

Removes elements matching the specified expression from the set of matched elements.

返回值

jQuery

参数

expr (String, DOMElement, Array<DOMElement>) : 一个表达式、一个元素或者一组元素

示例

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

HTML 代码:

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

jQuery 代码:

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

结果:

[ <p>Hello</p> ]
-------------------------------------------------------------------------------------------------------------------------

slice(start,[end])

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

Selects a subset of the matched elements.
Behaves exactly like the built-in Array slice method.

返回值

jQuery

参数

start (Integer) :开始选取子集的位置。第一个元素是0.如果是负数,则可以从集合的尾部开始选起。

end (Integer) : (可选) 结束选取自己的位置,如果不指定,则就是本身的结尾。

示例

选择第一个p元素

HTML 代码:

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

jQuery 代码:

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

结果:

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

选择前两个p元素

HTML 代码:

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

jQuery 代码:

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

结果:

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

只选取第二个p元素

HTML 代码:

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

jQuery 代码:

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

结果:

[ <p><b>cruel</b></p> ]

只选取第二第三个p元素

HTML 代码:

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

jQuery 代码:

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

结果:

[ <p><b>cruel</b></p>, <p><b>World</b></p> ]

Selects all paragraphs, then slices the selection to include only the third element.

HTML 代码:

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

jQuery 代码:

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

结果:

[ <p><b>World</b></p> ]
Javascript 相关文章推荐
window.onload 加载完毕的问题及解决方案(下)
Jul 09 Javascript
JavaScript接口实现代码 (Interfaces In JavaScript)
Jun 11 Javascript
javascript基于DOM实现权限选择实例分析
May 14 Javascript
分享js粘帖屏幕截图到web页面插件screenshot-paste
Aug 21 Javascript
jquery控制页面的展开和隐藏实现方法(推荐)
Oct 15 Javascript
JS实现快速的导航下拉菜单动画效果附源码下载
Nov 01 Javascript
JS异步文件分片断点上传的实现思路
Dec 25 Javascript
webuploader模态框ueditor显示问题解决方法
Dec 27 Javascript
Vue中保存用户登录状态实例代码
Jun 07 Javascript
javascript匿名函数中的'return function()'作用
Oct 15 Javascript
vue选项卡切换登录方式小案例
Sep 27 Javascript
vue3.0实现点击切换验证码(组件)及校验
Nov 18 Vue.js
juqery 学习之四 筛选查找
Nov 30 #Javascript
用XMLDOM和ADODB.Stream实现base64编码解码实现代码
Nov 28 #Javascript
xss文件页面内容读取(解决)
Nov 28 #Javascript
用js来解决ajax读取页面乱码
Nov 28 #Javascript
window.name代替cookie的实现代码
Nov 28 #Javascript
在一个js文件里远程调用jquery.js会在ie8下的一个奇怪问题
Nov 28 #Javascript
一个网马的tips实现分析
Nov 28 #Javascript
You might like
建立文件交换功能的脚本(二)
2006/10/09 PHP
php网页后退不再出现过期
2007/03/08 PHP
PHP获取当前完整URL地址的函数
2014/12/21 PHP
WordPress中查询文章的循环Loop结构及用法分析
2015/12/17 PHP
PHP ob缓存以及ob函数原理实例解析
2020/11/13 PHP
js浮点数精确计算(加、减、乘、除)
2013/12/26 Javascript
js中文逗号转英文实现
2014/02/11 Javascript
javascript手风琴下拉菜单实现代码
2015/11/12 Javascript
jQuery mobile 移动web(4)
2015/12/20 Javascript
使用基于Node.js的构建工具Grunt来发布ASP.NET MVC项目
2016/02/15 Javascript
Bootstrap三种表单布局的使用方法
2016/06/21 Javascript
jQuery实现的兼容性浮动层示例
2016/08/02 Javascript
JavaScript面试题大全(推荐)
2016/09/22 Javascript
js中DOM三级列表(代码分享)
2017/03/20 Javascript
JavaScript错误处理和堆栈追踪详解
2017/04/18 Javascript
客户端(vue框架)与服务器(koa框架)通信及服务器跨域配置详解
2017/08/26 Javascript
利用pm2部署多个node.js项目的配置教程
2017/10/22 Javascript
js原生方法被覆盖,从新赋值原生的方法
2018/01/02 Javascript
使用Angular CLI生成 Angular 5项目教程详解
2018/03/18 Javascript
js中获取URL参数的共用方法getRequest()方法实例详解
2018/10/24 Javascript
解决vue-cli webpack打包开启Gzip 报错问题
2019/07/24 Javascript
jQuery 动态粒子效果示例代码
2020/07/07 jQuery
在Django的模板中使用认证数据的方法
2015/07/23 Python
Python批量查询域名是否被注册过
2017/06/21 Python
python写一个md5解密器示例
2018/02/23 Python
Python3 串口接收与发送16进制数据包的实例
2019/06/12 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
2019/08/20 Python
Python协程 yield与协程greenlet简单用法示例
2019/11/22 Python
python-docx文件定位读取过程(尝试替换)
2020/02/13 Python
python单元测试框架pytest的使用示例
2020/10/07 Python
意大利团购网站:Groupon意大利
2016/10/11 全球购物
英国在线花园中心:You Garden
2018/06/03 全球购物
院党委组织查摆问题对照检查材料思想汇报2014
2014/10/08 职场文书
2014年教务工作总结
2014/12/03 职场文书
党员思想汇报材料
2014/12/19 职场文书
优秀教师工作总结2015
2015/07/22 职场文书