2012-07-07 1 views
0

가능한 중복 :
Remove next row cell if rowspan is foundROWSPAN (3)은 다음과 다음 TR의 3 세포를 제거 발견되면

표 그럴

<table id="mytable" runat="server" bgcolor="gray"> 
    <tbody> 
     <tr class="csstablelisttd"> 
      <td></td> 
      <td class="csstdgreen">30</td> 
      <td class="csstdgreen" rowspan="3"> 
       <span>john</span> 
      </td> 
     </tr> 
     <tr class="csstablelisttd"> 
      <td></td> 
      <td class="csstdgreen">45</td> 
      <td>Remove me</td> 
     </tr> 
     <tr class="csstablelisttd"> 
      <td>09:00</td> 
      <td class="csstdgreen">00</td> 
      <td>Remove me</td> 
     </tr> 
    </tbody> 
</table> 

의 3 세포를 제거하기 전에 td가 csstdgreen을 가지고 있으면 모든 tr에서 테이블을 순환해야합니다. 속성 rowspan. 셀을 제거해야 텍스트가 제거되었습니다.

function clearTable() { 
    $('#mytable tbody tr td.csstdgreen').each(function() { 
     if ($(this).attr('rowspan')) { 
      $(this).parent().find('td:last').remove(); 
     } 
    }); 
} 

는 ** 나는

Live Demo

이것은 tdclass csstdgreen있는을위한 ID mytable을 가진 테이블을 검색합니다,

<table id="mytable" runat="server" bgcolor="gray"> 
    <tbody> 
     <tr class="csstablelisttd"> 
      <td></td> 
      <td class="csstdgreen">30</td> 
      <td class="csstdgreen" rowspan="3"> 
       <span>john</span> 
      </td> 
     </tr> 
     <tr class="csstablelisttd"> 
      <td></td> 
      <td class="csstdgreen">45</td> 
     </tr> 
     <tr class="csstablelisttd"> 
      <td>09:00</td> 
      <td class="csstdgreen">00</td> 
     </tr> 
    </tbody> 
</table> 
+6

http://stackoverflow.com/questions/11373116/remove- next-row-cell-if-rowspan-is-found? ':)) 같은 질문을 다시합니까?

답변

1

이 시도 ** 다음과 같이 테이블을해야 및 rowspan 3. 발견되면 모든 형제 (tr)의 last td이 삭제됩니다.

$('#button1').click(function() { 
    $('#mytable td.csstdgreen[rowspan=3]').each(function() { 

     $(this).parent().siblings().each(function() { 
      $(this).find('td').last().remove(); 
     }); 
    }); 
}); 

+0

"Remove Me"텍스트는 어떤 셀을 제거해야하는지 알 수 있도록 도와 주었지만 rowspan이 정의 된 셀을 따라 가기 때문에 제거해야합니다. – John

+0

속성 선택기도 있습니다. 또한, if를 호출하자마자 td를 단순히 remvoes. – pimvdb

+0

지금 확인하고 어떤 selector 속성을 사용하고 있는데, 이미 조건에서 rowspan을 가져 왔습니다. – Adil

0

당신이뿐만 아니라 ROWSPAN의 가치를 고려하는 경우,이 시도 :

$('table tr td.csstdgreen').each(function() { 
    // parse attribute 
    var rowspan = isNaN($(this).attr('rowspan')) ? 1 : parseInt($(this).attr('rowspan')); 
    if (rowspan > 1) { 
    var rows = $(this).parent().nextAll().slice(0, rowspan - 1); // limit elements 
    $(rows).find('td:last-child').remove(); // remove last td of each row 
    } 
});​