2012-06-13 1 views
2

TH를 포함하지 않는 모든 TR의 목록을 얻고 싶습니다.jQuery : TH가 포함 된 TR을 제외한 모든 TR 포함

내 초기 선택은 내가 not 선택기를 사용하여이 자격을 시도

$(".lanes tr") 

하지만 그것은 아주

var rowsToInclude = $(".lanes tr").not(function(){ 
    return ($(this).find('th').length == 0) ? false : true; 
}); 

을 작동하지 않습니다 내가 잘못된 구문이 있거나 쉬운 방법가이 수행 이것을 성취합니까?

답변

4

:not() 선택자가 아니지만 .not() 메소드입니다.

$(".lanes tr:not(:has(th))") 
+0

완벽한, 감사합니다 – Chris

0

이 조금 깔끔와 작동합니다 : 실제로 선택기를 사용하면 훨씬 간단

var rowsToInclude = $(".lanes tr").filter(function(){ 
    return $("th",this).length == 0 
}); 
+0

약간의 깔끔한을, 그러나 나는 전적으로 자신이 원하는 것과 반대를 생각한다 . 길이가 0이면 false를 반환해야하므로'.not()'은 요소를 제외하지 않습니다. 그러나 Javascript에서'0'이 "거짓"이라면'return! $ ('th', this) .length;'를 수행 할 수 있어야합니다. –

+0

@AnthonyGrist'.not()'대신'.filter()'를 사용했기 때문에 결과가 반대가 아닙니다. 나는 원작이 본질적으로 "그렇지 않다면"좋아하지 않았다. 하지만 네, 행복하게'== 0'을 건너 뛸 수 있습니다 –

+0

이 경우 절대적으로 맞습니다. 나는 당신이'.not()'을'.filter()'로 바꾸는 것을 놓쳤다. –

관련 문제