답변:
둘째 아이를 잡아 :
$(t).children().eq(1);
또는 두 번째 아이를 잡으십시오 <td>
.
$(t).children('td').eq(1);
find()
jQuery 메소드 에서도 작동합니까 ? 마찬가지로 $(t).find('td').eq(1)
두 번째를 얻을 <td>
경우, t
말하자면, 테이블이었고, 내가 더 1 개 노드보다 아래로 볼 필요가?
.children('td').eq(1)
어떤 이유로 일할 수 없었지만 .find('td').eq(1)
잘 작동했습니다.
다음은 코드에서 더 명확하게 읽을 수있는 솔루션입니다.
순서없는 목록의 두 번째 자식을 얻으려면 :
$('ul:first-child').next()
보다 정교한 예 :이 코드는 'my_list'로 식별 된 UL의 두 번째 하위 요소에 대한 'title'속성의 텍스트를 가져옵니다.
$('ul#my_list:first-child').next().attr("title")
이 두 번째 예에서는 ID가 단일 페이지에 고유해야하므로 선택기 시작시 'ul' 을 중복 제거 할 수 있습니다 . 예제에 명확성을 추가하기 위해 있습니다.
성능 및 메모리 에 대한 참고 사항 에서이 두 예제는 jquery 가 나중에 필터링 해야하는 ul 요소 목록을 저장하지 않으므로 성능이 뛰어납니다 .
ul
해서 검색 할 필요가 없도록 참조를 유지합시다 .
어때:
$(t).first().next()
답이 얼마나 아름답게 보일지에 관계없이 코드 성능에 대해서도 고려해야합니다. 따라서 $(t)
변수에 정확히 무엇이 있는지 아는 것도 중요 합니다. 그것의 배열 <TD>
또는 그것은이다 <TR>
몇 가지와 노드 <TD>s
내부 그것? 요점을 더 자세히 설명하려면 <ul>
50 <li>
명의 자녀가 있는 목록 에서 jsPerf 점수를 참조하십시오 .
이 $(t).first().next()
방법은 지금까지 가장 빠릅니다.
그러나 반면에 <tr>
노드 를 가져 와서 하위를 찾고 <td>
동일한 테스트를 실행하면 결과가 동일하지 않습니다.
도움이 되길 바랍니다. :)
여기에 언급되지 않았지만 CSS 사양 선택기를 사용할 수도 있습니다. 문서를 참조하십시오
$('#parentContainer td:nth-child(2)')
아무도 네이티브 JS 방법을 언급하지 않았다는 것은 놀라운 일입니다.
부모 요소 의 children
속성 에 액세스하십시오 . 인덱스로 액세스 할 수있는 자식 요소 의 라이브 HTMLCollection 을 반환합니다 . 두 번째 자녀를 얻으려면 :
parentElement.children[1];
귀하의 경우 다음과 같이 작동 할 수 있습니다 : (예)
var secondChild = document.querySelector('.parent').children[1];
console.log(secondChild); // <td>element two</td>
<table>
<tr class="parent">
<td>element one</td>
<td>element two</td>
</tr>
</table>
또한 CSS3 셀렉터의 조합을 사용 / 수 querySelector()
및 활용 :nth-of-type()
. 이 경우에는 요소 유형을 지정할 수도 있기 때문에이 방법이 더 나은 경우가 있습니다 td:nth-of-type(2)
(예).
var secondChild = document.querySelector('.parent > td:nth-of-type(2)');
console.log(secondChild); // <td>element two</td>
사용 .find()
방법
$(t).find("td:eq(1)");
td:eq(x) // x is index of child you want to retrieve. eq(1) means equal to 1.
//1 denote second element
아래와 같이 jQuery에서 두 가지 방법을 사용할 수 있습니다.
jQuery : nth-child Selector 사용 두 번째 li 요소를 선택하려는 경우 요소의 위치를 인수로 2로 설정했습니다.
$( "ul li:nth-child(2)" ).click(function(){
//do something
});
jQuery : eq () 선택기 사용
정확한 요소를 얻으려면 항목의 인덱스 값을 지정해야합니다. 목록 요소는 색인 0으로 시작합니다. li의 두 번째 요소를 선택하려면 2를 인수로 사용해야합니다.
$( "ul li:eq(1)" ).click(function(){
//do something
});
예 : jQuery에서 목록의 두 번째 하위 요소 가져 오기를 참조하십시오.
$(t).children('td').eq(1)
과$(t).children()[1]