2010-01-09 3 views
3

일부 행이있는 표가 있습니다.jquery의 선택자보다 큼?

다음은 테이블 크기가 적은 테이블의 예입니다.

<table> 
<tr> 
    <td>bob</td> 
    <td class="CheckThis">0 </td> 
</tr> 
<tr> 
    <td>Jim</td> 
    <td class="CheckThis">3</td> 
</tr> 
</table> 

지금 나는 그래서 내 위의 예에서 그것 때문에 "3"을 포함하는 전체 행을 얻을 것입니다 두 번째 테이블 셀을보고 0

보다 큰 값이 다시 행을 얻으려면 0보다 크다.

jquery에서 더 큰 작업을하는 섹터가 보이지 않지만 방금 놓칠 수 있습니다.

감사합니다.

답변

5

이 시도 :

$("tr").filter(function() { 
    return parseInt($(this).children("td.CheckThis").text(), 10) > 0; 
}) 

이 당신에게 내용이 인덱스에 의해 선택 0보다 큰

+0

왜 .text)? 내가 전에이 선택기를 사용했다고 생각하지 않는다. 보통 val() 또는 html()을 사용합니다. 그 차이점은 무엇입니까? 텍스트는 html 태그가 아닌 실제 텍스트와 같은 것입니까? – chobo2

+0

'val()'은 ** input 요소에만 적용됩니다 : http://docs.jquery.com/Attributes/val'html()'은 텍스트가 아닌 html을 반환하거나 설정합니다. 'text()'는 HTML을 이스케이프합니다. 여기에 HTML 컨텐트가 없으므로'html()'이 필요 없습니다. – BalusC

+0

@ chobo2 :'val'은 입력 요소를위한 것이고'html'은 HTML 내용 (마크 업)을 반환하는 반면'text'는 텍스트 내용을 반환합니다. 자세한 내용은 jQuery 설명서를 참조하십시오. http://docs.jquery.com/ – Gumbo

0

감사합니다. 문서를 체크 아웃 Selectors/gt

편집 : 오, 당신은 요소의 HTML에 대한 가치에 대해 이야기하고 있습니까? 아마도 필터 나 무언가가있는 .each 루프를 설정해야 할 것입니다. 내가 확인해 볼께. 미안.

+0

입니다입니다 클래스와 CheckThis을 TD를 자식 요소를 가지고 각각의 TR 요소를 선택합니다 콘텐츠가 아닌 – BalusC

+0

그래, 그냥 눈치. 가능한 경우 내 게시물을 삭제합니다. – JAL

4

이 경우 filter() 함수를 사용할 수 있습니다.

예.

var tds = $('td.CheckThis').filter(function() { 
    return parseInt($(this).text()) > 0; 
}); 

업데이트 : 당신은 실제로 '에 따라서 문제의 및뿐만 아니라 td'상기 trtd를 포함하는 요소들을 선택합니다 한 번 더 질문을 다시 읽기 후. 이 경우 올바른 코드 예제를 확인하려면 Gumbo's answer을 확인하십시오.

+0

'parseInt ($ (this) .text(), 10)' – slebetman

+0

숫자가 '0'으로 시작하는 경우에만, 나는 그렇지 않습니다. 그의 예를 보라. – BalusC

+0

그러나 행을 선택하지 않습니다. – Gumbo

0
var list = []; 
$("table").find("tr td:eq(1):not(:contains('0'))").each(function(i,val){ 
    list.push($(this).parent()); //add TR 
});