2013-08-23 25 views
0

我有2列表與含有3行的內容和第二TD另一個表與圖像如下第一TD: -如何根據存儲在第一個TD中的表的值使用JQuery來隱藏存儲在第二個TD中的圖像?

<table id="myTable" cellspacing="0" cellpadding="0"> 
     <tbody> 
     <tr> 
      <td style="padding-top: 10px;"> 
      <table> 
       <tbody> 
       <tr> 
        <td align="left"> 
        Wellness and Care 
        </td> 
       </tr> 
       <tr> 
        <td align="left"> 
        630 Woodbury Drive 
        </td> 
       </tr> 
       <tr> 
        <td align="left"> 
        641.613.1450 
        </td> 
       </tr> 
       <tr> 
        <td align="left"> 
        No Webaddress 
        </td> 
       </tr> 
       </tbody> 
      </table> 
      </td> 
      <td align="right"> 
      <img src="images/phone.png" class="imgHeader" id="imgPhone"> 
      </td> 
     </tr> 
     <tr> 
      <td style="padding-top: 10px;"> 
      <table> 
       <tbody> 
       <tr> 
        <td align="left"> 
        Hospital 
        </td> 
       </tr> 
       <tr> 
        <td align="left"> 
        N/A 
        </td> 
       </tr> 
       <tr> 
        <td align="left"> 
        641.613.1451 
        </td> 
       </tr> 
       <tr> 
        <td align="left"> 
        No Webaddress 
        </td> 
       </tr> 
       </tbody> 
      </table> 
      </td> 
      <td align="right"> 
      <img src="images/phone.png" class="imgHeader" id="imgPhone"> 
      </td> 
     </tr> 
     </tbody> 
    </table> 

我試圖禁用該行的第二列中的圖像,如果其中一個TD的值是「N/A」。我堅持要得到父母的TR,並且要第二個TD去做一些事情。

我嘗試如下:

$('#myTable tr').each(function() { 

    if ($(this).find("td").text().trim() == "N/A") { 
     var cellIndex = $(this).index(); 
     var nextTD = $(this).children('td').eq(1).index(); 
     // I am basically stuck here in getting next TD 

    } 
}); 

任何幫助表示讚賞!

+0

,你將能夠在一定階級屬性值添加到標記? –

+0

還有一個相關的問題:如何將包含td和Text ='N/A「的所有表格行移動到父表頂端? – Ann

回答

2

DEMO

$('#myTable td:first-child td:contains("N/A")').parents('td').next().find('img').hide(); 
+0

簡單而甜美的解決方案,像魅力一樣工作,請參閱一個相關的問題來操作帶有文本」N/A「的表格 – Ann

+0

@你在找這個http://jsfiddle.net/cse_tushar/jD3hT/1 /?http://jsfiddle.net/cse_tushar/jD3hT/2/ –

+0

謝謝!Prepend是我正在尋找的,但是我沒有正確地問這個問題,實際上,我通過'this thread :HTTP://stackoverflow.com/questions/184 11373/how-to-the-move-table-to-the-top-the-div-container-based-on-a-condition-with-jque – Ann

0

這應該足以讓你開始:

$('#myTable td:first td').each(
    function() { 
    if ($(this).text().trim() == 'N/A') { 
     $('#myTable td').eq(1).hide(); 
    } 
    } 
); 
+0

這是一個好的開始 - 但似乎沒有正確的工作因爲我有一些很好的工作代碼 - 我沒有花時間去評估這個問題 – Ann

2

嘗試

$('#myTable td:first-child td:contains("N/A")').closest('tr').closest('td').next().find('img').hide() 

演示:Fiddle

+0

另一個簡單而又甜蜜的解決方案我也很喜歡它請看另一個相關的問題來處理表格中的文本「N/A「 – Ann

1

我會做我你的情況是爲你的文字添加一個4 tr標籤。然後你可以通過他們的班級解析每一個4,如果其中一個等於'N/A',你可以通過它的ID獲取圖像並隱藏它。

HTML:

<td class="test" align="left"> 
    Wellness and Care 
</td> 

JQuery的:

$('.test').each(function() { 
    if($(this).text().trim() == 'N/A') { 
     $("#imgPhone").toggle(); 
    } 
}); 

的jsfiddle:http://jsfiddle.net/ax6Mv/

+0

這也是一個很好的解決方案。我喜歡單行代碼,以便在代碼中輕鬆管理。這也很好。 – Ann

相關問題