如何获得第n个jQuery元素

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

为什么不先浏览(短)select器页面?

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

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

您可以使用:eqselect器,例如:

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

或者遍历/ eq函数:

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

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

如果您可以控制构buildjQuery对象的查询,请使用:eq()

 $("div:eq(2)") 

如果你没有控制它(例如,它从另一个函数或其他东西传递),然后使用.eq()

 var $thirdElement = $jqObj.eq(2); 

或者如果你想要其中的一部分(比如第三,第四和第五个元素),使用.slice()

 var $third4th5thElements = $jqObj.slice(2, 5); 

我想你可以使用这个

 $("ul li:nth-child(2)").append("<span> - 2nd!</span>"); 

它在每个匹配的ul中find第二个li并记下它。

.eq() – 指示元素的基于0的位置的整数。

例如:

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

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

我们可以将这个方法应用到一系列的列表项中:

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

有关更多信息:.eq()

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

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

如果你已经有一个variables的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"); } 

尽pipe上面的例子没有任何用处,但它代表了如何将jquery创build的对象视为索引数组。

对于使用select器的迭代似乎没有任何意义,但:

 var some = $( '...' ); for( i = some.length -1; i>=0; --i ) { // Have to transform in a jquery object again: // var item = $( some[ i ] ); // use item at will // ... } 

实例使用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> 

运行时,有序列表中有两个项目分别显示“第一个”和“第三个”。 第二个是隐藏的。

  $(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> 

如果你想获取特定的元素/节点或标签循环例如

 <p class="weekday" data-today="monday">Monday</p> <p class="weekday" data-today="tuesday">Tuesday</p> <p class="weekday" data-today="wednesday">Wednesday</p> <p class="weekday" data-today="thursday">Thursday</p> 

所以,从上面的代码循环被执行,我们希望特定的字段来select,我们必须使用jQuery的select,只能select期望从上面的循环,因此,代码将

 $('.weekdays:eq(n)'); 

例如

 $('.weekdays:eq(0)'); 

以及其他方法

 $('.weekday').find('p').first('.weekdays').next()/last()/prev(); 

但是当HTML <tag>有唯一的类名时,第一种方法更有效率。

注意:当目标元素或节点中没有类名时,使用第二种方法。

更多关注https://api.jquery.com/eq/