2013-01-02 5 views
1

동일한 페이지에 여러 테이블이 있습니다. 페이지의 각 테이블에 행을 개별적으로 계산하는 jQuery 코드를 작성하고 행 수가 짝수 또는 홀수인지 여부에 따라 각 개별 테이블에 서로 다른 CSS를 적용합니다.동일한 페이지에서 여러 테이블 선택

jQuery의 .each 기능을 사용하여 각 표를 선택할 수 있습니다. 그러나 "this"키워드를 사용하여 개별 테이블의 행 수를 세는 방법이 필요합니다. 한 표가 있었다면 나는

var amountOfRows = $(".data tbody tr").length; 

를 사용할 수 있습니다 그러나 여러 테이블이 있기 때문에 나는 개별적으로 각 행의 길이를 얻을 수있는 "이"키워드를 포함 몇 가지 코드가 필요합니다.

그래서 "내 페이지에서 각 테이블의 행 수를 읽을 수 있도록"this "키워드를 사용하는 방법을 알고 싶습니다. 여기

기본적인 jsfiddle입니다 : 여기 http://jsfiddle.net/49jNn/1/

내 HTML 코드의 단순화 된 버전, 난 2-4 페이지가 있습니다.

<table class="data"> 
    <thead> 
     //head row 
    </thead> 
    <tfoot> 
     //footer row 
    </tfoot> 

    //I want the number of these rows 
    <tr> 
     //multiple <td> 
    </tr> 
    <tr> 
     //multiple <td> 
    </tr> 
    <tr> 
     //multiple <td> 
    </tr> 
</table> 

내 jQuery 코드는 지금까지 페이지의 테이블 수를 순환 할 수있었습니다.

$('table').each(function() { 
    alert("table"); 
}); 

답변

3

$(selector, context)을 사용할 수 있습니다.

$('tbody tr', this).length; 

또는 find 방법이 뭔가를 시도 할 수 있습니다 당신의 각 선택에

$(this).find('tbody tr').length; 
+0

잘 작동했습니다. 도와 줘서 고마워. – morganw09dev

+0

@MorganK 당신을 진심으로 환영합니다. – undefined

3

, e는 인덱스 될 것 테이블입니다

$('table').each(function(e, table) { 
    console.log(['Table length', $(table).find('tbody tr').length]); 
});​ 

가있다 각 명령문의 현재 테이블.

$ (table)은 javascript 개체를 가져 와서 .find ('tbody tr')를 사용하여 해당 테이블의 행을 가져올 수있는 jQuery 개체로 참조합니다.

관련 문제