jQuery选择器(中)

基本过滤选择器

jQuery 的基本过滤选择器具有以下几种:

选择器描述
:first 过滤选择器获取第一个元素
:last 过滤选择器获取最后一个元素
:even 过滤选择器匹配所有索引值为偶数的元素,从 0 开始计数
:odd 过滤选择器匹配所有索引值为奇数的元素,从 0 开始计数
:eq()过滤选择器匹配一个给定索引值元素
:gt()过滤选择器匹配所有大于给定索引值的元素
:lt()过滤选择器匹配所有小于给定索引值的元素
:not()过滤选择器去除所有与给定选择器匹配的元素
:header 过滤选择器匹配如 h1,h2,h3 之类的标题元素
:animated 过滤选择器匹配所有正在执行动画效果的元素

说明:由于 jQuery 对象是类数组对象,即使匹配的元素只有一个,返回的结果依旧是类数组对象。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>基本过滤择器</title>
  <script src="../../js/jquery-1.12.4.js"></script>
  <style>
    #pdx{
      width: 100px;
      height: 200px;
      background-color: aqua;
    }
  </style>
</head>
<body>
  <h1>比基尼海滩</h1>
  <h2>菠萝屋</h2>
  <div>派大星</div>
  <div id="box">
    <div id="son"></div>
  </div>
  <div></div>
  <div></div>
  <div>海绵宝宝</div>
  <div id="pdx"></div>
  <script>
    console.log($('div:first'));
    console.log($('div:last'));
    // 索引值为偶数时 -> 奇数元素:索引值为奇数时 -> 偶数元素
    console.log($('div:even'));
    console.log($('div:odd'));
    // :eq(index) -> index表示索引值
    console.log($('div:eq(0)'));
    console.log($('div:gt(2)'));//大于
    console.log($('div:lt(2)'));//小于
    // :header -> 匹配h1~h6元素
    console.log($(':header'));

    function animated(){
      $('#pdx').slideToggle(animated);
    }
    animated();
    // :animated -> 只能匹配由jQuery实现的动画
    console.log($(':animated'));

    console.log($('div:not("#son")'));
  </script>
</body>
</html>

内容过滤选择器

jQuery的内容过滤选择器具有以下几种:

选择器描述
:contains()过滤选择器匹配包含给定文本的元素
:empty过滤选择器匹配所有不包含子元素或者文本的空元素
:parent过滤选择器匹配含有子元素或者文本的元素
:has()过滤选择器匹配含由选择器所有匹配的元素的元素

说明:由于jQuery对象是类数组对象,即使匹配的元素只有一个,返回的结果依旧是类数组对象。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>内容过滤选择器</title>
  <script src="../../js/jquery-1.12.4.js"></script>
</head>
<body>
  <div>这是div元素</div>
  <div></div>
  <div>
    <div id="son"></div>
  </div>
  <script>
  	//含有di文字内容的元素
    console.log($('div:contains("di")'));
    // 匹配所有不包含子元素或者文本的空元素
    console.log($('div:empty'));
    //匹配含有子元素或者文本的元素
    console.log($('div:parent'));
	//div的id值为son的元素
    console.log($('div:has("#son")')[0]);
  </script>
</body>
</html>

可见性过滤选择器

jQuery的可见性过滤选择器具有以下几种:

选择器描述
:hidden过滤选择器匹配所以不可见元素,或者type为hidden的元素
:visible过滤选择器匹配所有的可见元素

说明:由于jQuery对象是数组对象,即使匹配的元素只有一个,返回的结果依旧是类数组对象。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>可见性过滤选择器</title>
  <script src="../../js/jquery-1.12.4.js"></script>
  <style>
    #box{
      display: none;
    }
    #box1{
      visibility: hidden;
    }
  </style>
</head>
<body>
  <div id="box">派大星</div>
  <div id="box1">海绵宝宝</div>
  <input type="hidden" value="章鱼哥">
  <input type="text" name="username">
  <script>
    /*
        :hidden选择器
        * 不能匹配CSS样式属性visibility设置为hidden的隐藏元素
        * 还能匹配HTML页面中不做任何显示效果的元素
        * 用法 - 尽量确定元素类型或指定范围
    */ 
    console.log($(':hidden'));
    /*
      :visible选择器
      * 匹配css样式属性visibility设置为hidden的隐藏元素
        * 当visibility设置为hidden时的元素,依旧占有页面空间
      * 还能匹配到HTML页面中的<html>和<body>元素
    */ 
    console.log($(':visible'));
  </script>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值