跳转到主内容
极星编程网:以代码为星,赴技术山海!

jQuery过滤方法filter()使用详解

这次给大家带来jQuery过滤方法filter()使用详解,jQuery过滤方法filter()使用的 注意事项 有哪些,下面就是实战案例,一起来看一下。 现在有这样一种需求,需要选出所有有背景图片的元素. 这个问题有点棘手.我们无法使用选择表达式来完成这个问题了. 使用jQuery的DOM过滤方法filter(),可以根据函数中表达的任何条件选择元素. jQuery中的过滤器方法允许传递一个字符串(也就是选择器表达式)作为参数. 或者传递的是一个函数.它的返回值将定义某个元素是否被选中. 传递的函数将对当前选择集中的每个元素运行. 当函数返回假时,对应的函数就从选择集中被删除掉.每当返回值为真的时候,对应的元素 不受影响.
jQuery('*').filter(function(){ return !!jQuery(this).css(' background '); });
上述代码选择所有具有背景图片的元素. 初始集合是所有元素(*).然后以一个函数为参数调用filter(). 这个函数在每个集合上进行是否有属性background属性的判断, 如果有,则保留.否则,则在结果集中删除这个元素. 你所看到的!! 是 javascript 中间任何undefined ,空类型,当然还有false. 如果函数调用返回的是这些值,那么函数返回false,从而在集合中删除 没有background属性的元素. 实际上,!!并不是必要的.因为jQuery将把这些返回值转化为Boolean类型.但是保留仍然是一个好的主意. 这样任何人看到你的代码的时候,都能绝对肯定你的意图.(这有助于代码的可读性). 在传递个filter()的函数中,可以通过this关键字引用当前元素. 将它包含在jQuery函数中就变成了一个jQuery对象了. this //常规的元素对象. jQuery(this) //jQuery对象. 下面是激发你想象力的一些例子.
jQuery('p').filter(function(){ var width = jQuery(this).width; return width >100 && widht < 200; }); //返回子元素有10个或者20个的元素. jQuery('*').filter(function(){ var children = jQuery(this).childern().length; return children ===10 || children ===20; });

Bye Bye Beautiful

Nothing but the girl

The Lazy song

If I die young

New soul

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章! 推荐阅读: jQuery操作表格的插件datatables如何应用 基于jQuery的AJAX和JSON的实例 中文WORD版 本文档主要讲述的是基于jQuery的AJAX和JSON的实例;过jQuery内置的AJAX功能,直接访问后台获得JSON格式的数据,然后通过jQuer把数据绑定到事先设计好的html模板上,直接在页面上显示。有需要的朋友可以下载看看 下载 js/jquery解析json方法详解

相关文章