jQuery_06 过滤器的使用

什么是过滤器?

过滤器就是用来筛选dom对象的,过滤器是和选择器一起使用的。在选择了dom对象后在进行过滤筛选。

jQuery对象中存储的dom对象顺序与页面标签声明有关系。

声明顺序就是dom中存放的顺序

1.基本过滤器

使用dom对象在数组中的位置来作为过滤条件的。
1.数组中第一个dom成员 语法: $("选择器:first")

2.选择最后一个dom成员 语法:$("选择器:last")

3.选择指定下标的dom成员 语法:$("选择器:eq(下标)")

4.选择大于某个下标的所有成员 语法:$("选择器:gt(下标)")

5.选择小于某个下标的所有成员 语法:$("选择器:lt(下标)")

javascript 复制代码
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script type="text/javascript" src="../js/jquery.js"></script>
    <script type="text/javascript">
      $(function () {
        //页面加载完成之后执行 相当于onload事件
        $("#btn").click(function () {
          alert("我单机了按钮");
        });
        $("#btn1").click(function () {
          var obj = $("div:first");
          obj.css("background-color", "red");
        });
        $("#btn2").click(function () {
          var obj = $("div:last");
          obj.css("background-color", "red");
        });
        $("#btn3").click(function () {
          //获取下标等于3的div
          var obj = $("div:eq(3)");
          obj.css("background-color", "green");
        });
        $("#btn4").click(function () {
          // 获取下标小于3的div
          var obj = $("div:lt(3)");
          obj.css("background-color", "orange");
        });
        $("#btn5").click(function () {
          // 获取下标大于3的div
          var obj = $("div:gt(3)");
          obj.css("background-color", "blue");
        });
      });
    </script>
    <style type="text/css">
      div {
        background-color: gray;
      }
    </style>
  </head>
  <body>
    <div id="one">我是div0</div>
    <div id="two">我是div1</div>
    <div id="">
      我是div2
      <div>我是div3</div>
      <div>我是div4</div>
    </div>
    <div>我是div5</div>
    <br />
    <br />
    <span>我是span</span>
    <br />
    <br />
    <input type="button" id="btn" value="绑定事件" /><br />
    <input type="button" id="btn1" value="获取dom中第一个对象" /><br />
    <input type="button" id="btn2" value="获取dom中最后一个对象" /><br />
    <input type="button" id="btn3" value="获取下标等于3的div" /><br />
    <input type="button" id="btn4" value="获取下标小于3的div" /><br />
    <input type="button" id="btn5" value="获取下标大于3的div" /><br />
  </body>
</html>

2.表单属性过滤器

根据对象的状态作为条件,筛选dom
1.获取可用的文本框 $(":text:enabled")

2.获取不可用的文本框 $(":text:disabled")

3.获取选中的复选框 $(":checkbox:checked")

4.获取选中的option 下拉框 $("选择器:option:selected")

javascript 复制代码
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script type="text/javascript" src="../js/jquery.js"></script>
    <script type="text/javascript">
      $(function () {
        //页面加载完成之后执行 相当于onload事件
        $("#btn1").click(function () {
          //选中可用的文本框
          var obj = $(":text:enabled");
          obj.val("hello");
        });
        $("#btn2").click(function () {
          //选中的复选框
          var obj = $(":checkbox:checked");
          for (var i = 0; i < obj.length; i++) {
            console.log(
              "dom方式" + obj[i].value + ",jQuery的方式" + $(obj[i]).val()
            );
          }
        });
        $("#btn3").click(function () {
          //选中的下拉列表框
          // var obj = $("select > option:selected");
          var obj = $("#lang>option:selected");
          console.log(obj.val());
        });
      });
    </script>
    <style type="text/css">
      div {
        background-color: gray;
      }
    </style>
  </head>
  <body>
    <p>文本框</p>
    <input type="text" id="text1" value="文本框1" /><br />
    <input type="text" id="text1" value="文本框2" disabled /><br />
    <input type="text" id="text1" value="文本框3" /><br />
    <input type="text" id="text1" value="文本框4" disabled /><br />
    <br />
    <br />
    <p>复选框</p>
    <input type="checkbox" value="游泳" />游泳<br />
    <input type="checkbox" value="健身" checked />健身<br />
    <input type="checkbox" value="电子游戏" checked />电子游戏<br />
    <br />
    <br />
    <p>下拉框</p>
    <select name="" id="lang">
      <option value="java">java</option>
      <option value="go" selected>go</option>
      <option value="python">python</option>
    </select>
    <br />
    <br />
    <p>按钮</p>
    <button id="btn1">所有的可用的文本框的值设为hello</button><br />

    <button id="btn2">显示选中的复选框</button><br />
    <button id="btn3">显示选中的下拉列表框</button><br />
  </body>
  <script>
    /* 
    表单过滤器
    根据对象的状态作为条件,筛选dom
    1.获取可用的文本框     $(":text:enabled") 
    2.获取不可用的文本框   $(":text:disabled")
    3.获取选中的复选框     $(":checkbox:checked")
    4.获取选中的option 下拉框     $("选择器:option:selected")
    */
  </script>
</html>
相关推荐
To_OC4 小时前
LC 131 分割回文串:刚学回溯时,我连怎么切字符串都想不明白
javascript·算法·leetcode
咩咩啃树皮5 小时前
第40篇:Vue3组件化开发精讲——组件拆分、复用、父子通信、工程化架构
java·前端·架构
阳光是sunny5 小时前
LangGraph中的Reducer是什么
前端·人工智能·后端
触底反弹5 小时前
一文搞懂 Tailwind CSS 弹性布局:从原理到实战
前端·css·html
阳光是sunny6 小时前
从链到图:LangGraph 入门基础全解析
前端·人工智能·后端
To_OC6 小时前
LC 42 接雨水:暴力超时卡半天?前后缀数组一用就通了
javascript·算法·leetcode
小林ixn6 小时前
从 ??= 到 onKeyDown:一个 React 组件的“自我修养”
前端·javascript·react.js
REDcker7 小时前
显示分辨率标准对照详解
前端·网络·分辨率·显示·屏幕
এ慕ོ冬℘゜7 小时前
前端实战:jQuery 多条件联合搜索(标题模糊查询 + 日历时间段筛选)
前端·javascript·jquery
武子康7 小时前
Search Console Platform Properties 扩大 SEO 资产边界:从 Page Ranking 到 Topic Coverage(5 类误读边界 + 3 表数据层设计)
前端·人工智能·后端