2013-03-24 5 views
0

내가 속해있는 열을 숨 깁니다.전체 열을 숨기기

내 테이블은 아래에 있습니다.

<table id="tester" border='1'> 
<tbody> 
    <tr> 
     <td>test1</td> 
     <td>test2</td> 
     <td>test3</td> 
    </tr> 
    <tr> 
     <td>test1</td> 
     <td></td> 
     <td>test3</td> 
    </tr> 
    <tr> 
     <td>test1</td> 
     <td>test2</td> 
     <td>test3</td> 
    </tr> 
    <tr> 
     <td>test1</td> 
     <td>test2</td> 
     <td>test3</td> 
    </tr> 
    <tr> 
     <td>test1</td> 
     <td>test2</td> 
     <td>test3</td> 
    </tr> 
</tbody> 
</table> 

그리고 내가 일하려고하는 Jquery는 아래에 있습니다.

도움을 주시면 감사하겠습니다.

+0

으로 반복 TD를 s와 가져 오기 $ ('td'). text()를 사용하여 텍스트를 var에 저장 한 다음 var 길이를 확인한 후 > 0 – Bernhard

+0

어쩌면 $ ('td : nth-child (2)'). style.display = "none"; 작품 (나도 몰라) –

+0

jsfiddle 샘플 "js 선택했다"및 jquery 추가 한 것처럼 그것은 열을 숨 겼을 것으로 보인다. 더 많은 것이 있습니까? –

답변

0

나는 당신이 찾고 있다고 생각합니다.

$.each($('table > tbody > tr'), function(){ 
    if($(this).find('td:empty').length>0){ 
    // You can hide 
    $(this).hide(); 

    // Or Remove 
    $(this).remove(); 

    // Or Fadeout and remove 
    $(this).fadeOut(250, function(){$(this).remove();}); 
    } 
}); 
+0

죄송합니다. 질문을 놓치 셨습니다. yxour jsfiddle 안에 jQuery를 포함하고 내 응답자에 배치 한 코드를 사용해야합니다. – Bernhard

1

이 시도 : 그 세포 중 하나가 비어있는 경우

function hidecol2() { 
    var cell = $('#tester > tbody > tr:eq(1) > td:eq(1)'); 
    if (cell.text() == '') cell.parent().parent().children().children(':nth-child(2)').hide; 
}; 
+0

사실,'if (cell.is (': empty') == '')'는 아마도 더 나은 스타일로 간주됩니다. – mrks

+0

죄송합니다 - 내 잘못. 이것을 시도해보십시오 :'if (cell.text() == ') cell.parent(). parent(). children(). children (': nth-child (2) '). – mrks

0

전체 열을 숨기려면이 사용

$.each($('td:empty'), function(){ 
    $('td:nth-child(' + ($(this).index() + 1) + ')').hide(); 
}); 

jsFiddle

관련 문제