代码之家  ›  专栏  ›  技术社区  ›  nickf

如何在jquery中选择一系列元素

  •  51
  • nickf  · 技术社区  · 16 年前
    <div id="myDiv">
         <a>...</a>
         <a>...</a>
         <a>...</a>
         <a>...</a>
         <a>...</a>
         <a>...</a>
    </div>
    

    如果您想选择第二、第三和第四个 a 在上面的示例中,您将如何进行标记?我唯一能想到的是:

    $("#myDiv a:eq(1), #myDiv a:eq(2), #myDiv a:eq(3)")
    

    但这看起来不是很有效率,也不是很漂亮。我想你也可以选择 然后再跑 .each 但如果更多的话,效率会很低 S.

    3 回复  |  直到 9 年前
        1
  •  107
  •   Alexander Prokofyev    16 年前

    JQuery slice() 函数获取第一个和最后一个所需元素的索引,选择匹配元素的子集。注意它不包括最后一个元素本身。

    在您的特定情况下,您应该使用

    $("#myDiv a").slice(1, 4)
    
        2
  •  9
  •   Michał Perłakowski    9 年前

    使用 .slice() 函数完全满足我的需要。

        3
  •  3
  •   paxdiablo    16 年前

    因此,您应该能够通过提取数组的一个片段来实现这一点。这是一条线

    $("div[id='myDiv'] > a").slice(1,4).css("background","yellow");
    

    你感兴趣的。它将影响第二、第三和第四个元素。

    <html>
        <head>
            <script type="text/javascript" src="jquery-1.2.6.pack.js"></script>
            <script type="text/javascript">
                $(document).ready(function(){
                    $("a").click(function(event){
                        $("div[id='myDiv'] > a").slice(1,4).css("background","yellow");
                        event.preventDefault();
                    });
                });
            </script>
        </head>
        <body>
            <div id="myDiv">
                <a>1</a>
                <a>2</a>
                <a>3</a>
                <a>4</a>
                <a>5</a>
                <a>6</a>
            </div>
            <hr>
            <a href="" >Click here</a>
            <hr>
        </body>
    </html>