繁体   English   中英

如何使用JQuery根据第一个TD中存储的表的值隐藏第二个TD中存储的图像?

[英]How to Hide an image stored in second TD based on the values of table stored in first TD with JQuery?

我有2列TABLE,第一个TD包含另一个包含3行内容的TABLE,第二个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

    }
});

任何帮助表示赞赏!

尝试

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

演示: 小提琴

DEMO

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

在您的情况下,我要做的是为带有文本的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/

这应该足以让您入门:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM