基本过滤选择器

过滤选择器主要是通过特定的过滤规则来筛选出所需的DOM元素,过滤规则集与CSS中的伪类选择器语法相同,都是以一个冒号开头。按照不同的过滤规则,过滤选择器可以分为基本过滤、内容过滤、可见性过滤、属性过滤、子元素过滤和表单对象属性过滤,接下来主要看一下基本过滤选择器。

基本过滤选择器主要有以下几种:

  • :first:选取第一个元素(单个元素)
  • :last:选取最后一个元素(单个元素)
  • :not(selector):去除所有与给定选择器匹配的元素(元素集合)
  • :even:选取索引是偶数的所有元素,索引从0开始(元素集合)
  • :odd:选取索引是奇数的所有元素,索引从0开始(元素集合)
  • :eq(index):选取索引等于index的元素(单个元素)
  • :gt(index):选取索引大于index的元素(元素集合)
  • :lt(index):选取索引小于index的元素(元素集合)
  • :header:选取所有的标题元素(元素集合)
  • :animated:选取当前正在执行动画的所有元素(元素集合)
  • :focus:选取当前获得焦点的元素(元素集合)

在操作之前,我们先在html中写如下代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script type="text/javascript" src="jquery-3.2.1.js"></script>
</head>
<body>
      <ul>
            <li>春</li>
            <li>夏</li>
            <li>秋</li>
            <li>冬</li>

            <li>变</li>
            <li id="xing">形</li>
            <li>金</li>
            <li>钢</li>
        </ul>
        <div class="apple">frist</div>
        <div class="apple">second</div>
        <div class="apple">three</div>
        <div>包含input的type为"hidden"的div <input type="hidden" size="8"></div>
        <span id="mover">正在执行动画的span元素</span>
</body>
</html>

基本过滤选择器

接下来,通过操作这些li和div等元素,来展示这些基本过滤选择器。

获得第一个li

$("li:first").css("color","red");

基本过滤选择器

获得最后一个li

$("li:last").css("color","blue");

基本过滤选择器

把[偶数]li设置背景颜色(li元素下标从0开始的)

$("li:even").css("background-color","pink");

基本过滤选择器

把[奇数]li设置背景颜色

 $("li:odd").css("background-color","lightblue");

基本过滤选择器

li的下标小于4的,都设置背景颜色

$("li:lt(4)").css("background-color","orange");

基本过滤选择器

下标大于5的都给统一背景色 ,不包括5

$("li:gt(5)").css("background-color","pink");

基本过滤选择器

需要特别注意的是,每次使用gt后,下标都是重新开始计算的。

//$("li")  0---7
//$("li:gt(0)")  0---6(下标从新开始计算)//$("li:gt(0):gt(0)")  0---5 (下标从0开始计算)$("li:gt(0):gt(0)").css('color','red');//第一次排除了春,第二次排除了夏

基本过滤选择器

 $("li:gt(0):even").css('color',"blue");    //偶数(下标都是从0开始的,第一次排除了春,然后夏的下标为0,为偶数)

基本过滤选择器

只给“冬”设置背景颜色

$("li:eq(3)").css("background-color","green");

基本过滤选择器

给“夏”和“金”设置背景颜色

 $("li:eq(1) , li:eq(6)").css("color","red");

基本过滤选择器

:not(选择器) 把指定选择器给去除

$("li:not(#xing)").css('color','red');

基本过滤选择器