답변:
(짧은) 선택기 페이지를 먼저 찾아 보지 않겠습니까?
여기 있습니다 : :eq()
연산자. 처럼 사용 get()
되지만 jQuery 객체를 반환합니다.
또는 .eq()
기능도 사용할 수 있습니다.
.eq()
OP의 질문에 더 적합합니다. :eq()
는 문자열 매개 변수 내에서로 사용되는 $
반면 .eq()
기존 jQuery 객체의 메소드입니다.
$('select').find('option').eq(n)
기본적으로 그룹화를 무시하고 모든 옵션을 전체적으로 얻습니다. 그룹별로 원하는 경우 다음과 같은 것이 필요합니다.$('select').find('optgroup').each(function() { $(this).find('option').eq(n)...; })
: eq 선택기를 사용할 수 있습니다 . 예를 들면 다음과 같습니다.
$("td:eq(2)").css("color", "red"); // gets the third td element
또는 eq (int) 함수 :
$("td").eq(2).css("color", "red");
또한 인덱스는 0부터 시작합니다.
:nth()
선택자와 혼동하지 않아도됩니다.:nth-child()
jQuery 객체를 빌드하는 쿼리를 제어 할 수 있다면 :eq()
$("div:eq(2)")
제어 할 수없는 경우 (예 : 다른 함수 또는 다른 함수에서 전달 된 경우) .eq()
var $thirdElement = $jqObj.eq(2);
또는 세 번째, 네 번째 및 다섯 번째 요소와 같은 섹션을 원하면 .slice()
var $third4th5thElements = $jqObj.slice(2, 5);
.eq()
대신 사용해야 합니다 :eq()
. 약간의 성능 향상.
.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" );
변수에 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로 만든 객체를 인덱스 배열로 처리하는 방법을 나타냅니다.
<select>
요소 목록이 포함되어 있고 선택된 콤보 박스 요소를 원하면$(row).val();
귀하의 질문을 올바르게 이해하면 항상 get 함수를 다음과 같이 포장 할 수 있습니다.
var $someJqueryEl = $($('.myJqueryEls').get(3));
eq()
무료입니다.
예를 들어 특정 요소 / 노드 또는 태그를 루프로 가져 오려면
<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>
따라서 위의 코드 루프가 실행되고 위의 루프에서 예상 요소 만 선택할 수있는 jQuery 선택을 사용해야하기 때문에 특정 필드를 선택하기를 원하므로 코드는
$('.weekdays:eq(n)');
예 :
$('.weekdays:eq(0)');
다른 방법으로뿐만 아니라
$('.weekday').find('p').first('.weekdays').next()/last()/prev();
그러나 첫 번째 방법은 더 효율적입니다 HTML <tag>
고유 한 클래스 이름이 입니다.
참고 : 두 번째 방법은 대상 요소 또는 노드에 클래스 이름이없는 경우에 사용됩니다.
자세한 내용은 https://api.jquery.com/eq/
선택기를 사용하여 반복하는 것은 의미가없는 것 같습니다.
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
// ...
}
<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>
.eq()
대신 대신 해야:eq()
합니까?