• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • eq()

    减少匹配元素的集合为指定的索引的哪一个元素。

  • .eq(index)
    • index类型: Integer。一个整数,指示元素的位置,以0为基数。
  • .eq(-index)
    • -index类型: Integer。一个整数,指示元素的位置,从集合中的最后一个元素开始倒数。
  • 如果一个jQuery对象表示一个DOM元素的集合,.eq()方法从集合的一个元素中构造新的jQuery对象。所提供的索引标识这个集合中的元素的位置。

    考虑一个页面上一个简单的列表:

      <ul>
        <li>list item 1</li>
        <li>list item 2</li>
        <li>list item 3</li>
        <li>list item 4</li>
        <li>list item 5</li>
      </ul>
    

    我们可以在列表项目上设置此方法:

      $('li').eq(2).css('background-color', 'red');
    

    此调用的结果是item 3的背景变成红色。请注意,提供的索引是从0开始的,代表元素在jQuery对象中的位置,而不是在DOM树中的位置。

    提供一个负数表示的元素的位置从集合中的末尾开始,而不是开头。例如:

      $('li').eq(-2).css('background-color', 'red');
    

    这一次清单item 4变成了红色,因为这是从集合的末尾开始的第二个。

    如果指定索引位置的元素不存在,该方法构造了一个空的新jQuery对象,length属性值是0。

      $('li').eq(5).css('background-color', 'red');
    

    在这里,列表项都没有变成了红色。.eq(5)表示5个项的list的第六个元素,没有啊,亲!

    例子

    为索引值是为 2 的 div 添加适当的 class,将其变成蓝色。

    <!DOCTYPE html>
    <html>
    <head>
      <style>
      div { width:60px; height:60px; margin:10px; float:left;border:2px solid blue; }
      .blue { background:blue; }
      </style>
      <script src="https://www.lanmper.cn/static/js/jquery-3.5.0.js"></script>
    </head>
    <body>
      <div></div>
      <div></div>
      <div></div>
     
      <div></div>
      <div></div>
      <div></div>
    <script>
    $("body").find("div").eq(2).addClass("blue");
    </script>
     
    </body>
    </html>
    

    下篇:first()