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>
相关推荐
鱼樱前端几秒前
uni-app开发app之前提须知(IOS/安卓)
前端·uni-app
V***u4531 分钟前
【学术会议论文投稿】Spring Boot实战:零基础打造你的Web应用新纪元
前端·spring boot·后端
TechMasterPlus2 分钟前
VScode如何调试javascript文件
javascript·ide·vscode
i听风逝夜40 分钟前
Web 3D地球实时统计访问来源
前端·后端
iMonster44 分钟前
React 组件的组合模式之道 (Composition Pattern)
前端
呐呐呐呐呢1 小时前
antd渐变色边框按钮
前端
元直数字电路验证1 小时前
Jakarta EE Web 聊天室技术梳理
前端
wadesir1 小时前
Nginx配置文件CPU优化(从零开始提升Web服务器性能)
服务器·前端·nginx
牧码岛1 小时前
Web前端之canvas实现图片融合与清晰度介绍、合并
前端·javascript·css·html·web·canvas·web前端
灵犀坠1 小时前
前端面试八股复习心得
开发语言·前端·javascript