本文小编为大家详细介绍“jquery如何进行过滤”,内容详细,步骤清晰,细节处理妥当,希望这篇“jquery如何进行过滤”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
进行过滤的方法:1、使用“.hasClass("类名")”过滤类名;2、使用“.eq(n)”过滤下标;3、使用“.is(选择器)”过滤判断;4、使用“.not(选择器或函数)”反向过滤;5、使用“.filter(选择器或函数)”过滤表达式。
本教程操作环境:windows10系统、jquery3.2.1版本、Dell G3电脑。
在 jQuery 中,常见的过滤方法有以下 5 种:
类名过滤,指的是根据元素的 class 来过滤。在 jQuery 中,我们可以使用 hasClass() 方法来实现类名过滤。
语法:
$().hasClass("类名")
hasClass() 方法一般用于判断元素是否包含指定的类名:如果包含,则返回 true;如果不包含,则返回 false。
下标过滤,指的是根据元素集合的下标来过滤。在 jQuery 中,我们可以使用 eq() 方法来实现下标过滤。
语法:
$().eq(n)
n 是一个整数。当 n 取值为 0 或正整数时,eq(0) 获取的是第 1 个元素,eq(1) 获取的是第 2 个元素,……,以此类推。当 n 取值为负整数时,eq(-1) 获取的是倒数第 1 个元素,eq(-2) 获取的是倒数第 2 个元素,……,以此类推。
判断过滤,指的是根据某些条件进行判断,然后选取符合条件的元素。在 jQuery 中,我们可以使用 is() 方法来实现判断过滤。
语法:
$().is(selector)
参数 selector 是一个选择器。is() 方法用于判断在当前选择的元素集合中是否存在符合条件的元素:如果存在,则返回 true;如果不存在,则返回 false。
is() 方法非常好用,能不能用好也直接决定你的代码是否高效。使用 jQuery 进行开发,没有做不到的,只有想不到的。下面列出的是 is() 方法的常用功能代码:
//判断元素是否可见 $().is(":visible") //判断元素是否处于动画中 $().is(":animated") //判断单选框或复选框是否被选中 $().is(":checked") //判断当前元素是否为第一个子元素 $(this).is(":first-child") //判断文本中是否包含jQuery这个词 $().is(":contains('jQuery')") //判断是否包含某些类名 $().is(".select")
在 jQuery 中,我们还可以使用 not() 方法来过滤“不符合条件”的元素,并且返回余下符合条件的元素。其中,not() 方法可以使用选择器来过滤,也可以使用函数来过滤。
语法:
$().not(selector或fn)
当 not() 方法参的数是一个选择器时,表示使用选择器来过滤不符合条件的元素,然后选取其余元素。当 not() 方法的参数是一个函数时,表示使用函数来过滤不符合条件的元素,然后选取其余元素。
表达式过滤,指的是采用“自定义表达式”的方式来选取符合条件的元素。这种自定义表达式可以是选择器,也可以是函数。
在 jQuery 中,表达式过滤共有两个方法:一个是 filter() 方法,另一个是 has() 方法。
jQuery filter()方法
在 jQuery 中,filter() 方法是功能相当强大的过滤方法,它可以使用选择器来过滤,也可以使用函数来过滤。
1) 选择器过滤
选择器过滤,指的是使用选择器来选取符合条件的元素。
语法:
$().filter(selector)
参数 selector 是一个选择器。
2) 函数过滤
函数过滤,指的是根据函数的返回值来选取符合条件的元素。
语法:
$().filter(fn)
参数 fn 是一个回调函数。
filter() 方法非常强大,几乎把之前学过的过滤方法的功能都包含进去了。不过正是由于 filter() 方法内部封装的东西过多,导致运行速度非常慢。因此在实际开发中,建议大家优先考虑其他过滤方法,迫不得已时再用 filter() 方法。
jQuery has()方法
在 jQuery 中,表达式过滤除了可以使用 filter() 方法外,我们还可以使用 has() 方法。has() 方法虽然没有 filter() 方法那么强大,但是它的运行速度更快。
语法:
$().has(selector)
参数 selector 是一个选择器。
has() 方法与 filter() 方法功能相似,不过 has() 方法只能使用选择器来过滤,不能使用函数来过滤。因此我们可以把 has() 方法看成是 filter() 方法的精简版。
读到这里,这篇“jquery如何进行过滤”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。