在jQuery中,$("…").get(3)返回第3个DOM元素。返回第三个jQuery元素的函数是什么?


当前回答

为什么不先浏览(短)选择器页面呢?

这里是:eq()运算符。它像get()一样使用,但它返回jQuery对象。

或者你也可以使用.eq()函数。

其他回答

 $(function(){
            $(document).find('div').siblings().each(function(){
                var obj = $(this);
                obj.find('div').each(function(){
                    var obj1 = $(this);
                    if(!obj1.children().length > 0){
                        alert(obj1.html());
                    }
                });

            });
        });

<div id="2">
    <div>
        <div>
            <div>XYZ Pvt. Ltd.</div>
        </div>
    </div>
</div>
<div id="3">
    <div>
        <div>
            <div>ABC Pvt Ltd.</div>
        </div>
    </div>
</div>

如果我正确理解你的问题,你总是可以像这样包装get函数:

var $someJqueryEl = $($('.myJqueryEls').get(3));

你可以使用:eq选择器,例如:

$("td:eq(2)").css("color", "red"); // gets the third td element

或eq(int)函数:

$("td").eq(2).css("color", "red");

另外,请记住索引是从零开始的。

使用jQuery访问和删除第n个元素的示例:

<html>
<head></head>
<body>
    <script type="text/javascript" 
    src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
    <script type="text/javascript">
      $(document).ready(function(){
        $('li:eq(1)').hide();
      });
    </script>
    <ol>
      <li>First</li>
      <li>Second</li>
      <li>Third</li>
    </ol>
</body>
</html>

当它运行时,有序列表中有两项显示First和Third。第二个藏起来了。

如果你已经在一个变量中有jquery对象,你也可以把它当作一个普通的索引数组,而不使用jquery:

var all_rows = $("tr");
for(var i=0; i < all_rows.length; i++){
   var row = all_rows[i];
   //additionally, you can use it again in a jquery selector
   $(row).css("background-color","black");
}

虽然上面的例子在任何方面都没有用处,但它代表了如何将jquery创建的对象视为索引数组。