From e44d3277d888d1c0f410a56b4b86790e846ee5e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B7=AB=E6=99=A8=E7=BE=BF?= <1004864698@qq.com> Date: Tue, 29 Nov 2022 00:00:03 +0800 Subject: [PATCH] =?UTF-8?q?47=E5=B7=AB=E6=99=A8=E7=BE=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../11.28.\350\277\207\346\273\244.md" | 113 ++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 "47\345\267\253\346\231\250\347\276\277/\347\254\224\350\256\260/11.28.\350\277\207\346\273\244.md" diff --git "a/47\345\267\253\346\231\250\347\276\277/\347\254\224\350\256\260/11.28.\350\277\207\346\273\244.md" "b/47\345\267\253\346\231\250\347\276\277/\347\254\224\350\256\260/11.28.\350\277\207\346\273\244.md" new file mode 100644 index 0000000..d8c8009 --- /dev/null +++ "b/47\345\267\253\346\231\250\347\276\277/\347\254\224\350\256\260/11.28.\350\277\207\346\273\244.md" @@ -0,0 +1,113 @@ +#### 过滤 + +##### 反向过滤:not() + +not()方法可以使用选择器过滤,也可以使用函数过滤。 + +```javascript +$().not(selector或fn) + +``` + +当参数是一个选择器时,表示使用选择器来过滤不符合条件的元素,然后选取余下元素。 + +eg: + +```javascript +
  • HTML
  • +
  • CSS
  • +
  • JavaScript
  • +
  • jQuery
  • +
  • Vue.js
  • +$("li").not(".select").css("color", "red");//除jQuery 外其他元素都改变样式 + +``` + +两行代码是等价的: + +```javascript +$("li").not(".select").css("color", "red"); +$("li:not(.select)"). css("color", "red"); + +``` + +当参数是一个函数时,表示使用函数来过滤不符合条件的元素,然后选取余下元素。 + +```javascript + $("li").not(function(){return $(this).text() == "jQuery";}).css("color", "red"); + +``` + +相当于返回值作为参数 + + + +##### 判断过滤:is() + +根据某些条件进行判断,然后选取符合条件的元素。 + +```javascript +$().is(selector) + +``` + +方法用于判断当前选择的元素集合中,是否存在符合条件的元素。如果存在,则返回true;如果不存在,则返回false。 + +eg: + +```javascript +var bool = $(this).is(":checked"); + if(bool){ + $(".fruit").prop("checked","true"); + }else{ + $(".fruit").removeProp("checked"); + } + +``` + +用于判断当前复选框是否被选中。当复选框被选中时,下面所有复选框就会被全部选中。然后再次点击按钮,此时下面所有复选框又会被取消选中。 + +```javascript +$("li").each(function () { + var bool = $(this).is(".select"); + if (bool) { + $(this).css("color", "red"); + } + })//查找是否存在类名 + +``` + + + +##### 表达式过滤:filter()、has() + +表达式过滤,指的是使用“自定义表达式”的方式来选取符合条件的元素。这种自定义表达式可以是选择器,也可以是函数。 + +filter() + +是功能最强大的过滤方法,它可以使用选择器过滤,也可以使用函数过滤。 + +选择器过滤: + +```javascript +$().filter(selector) +$("li").filter(".select").css("color", "red"); + +``` + +函数过滤: + +```javascript +$().filter(fn) +$("li").filter(function(){return $(this).text() == "jQuery";}) + +``` + +has() + +```javascript +$().has(selector) + +``` + +has()方法虽然没有filter()方法那么强大,但是它的运行速度比较快。 \ No newline at end of file -- Gitee