0

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

    }
});

任何帮助表示赞赏!

4

4 回答 4

2

尝试

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

演示:小提琴

于 2013-08-23T15:34:19.880 回答
2

演示

$('#myTable td:first-child td:contains("N/A")').parents('td').next().find('img').hide();
于 2013-08-23T15:37:29.877 回答
1

在您的情况下,我会为您的 4 个tr带有文本的标签添加一个类。然后你可以通过他们的类来解析这 4 个中的每一个,如果其中一个等于“N/A”,你可以通过它的 ID 抓取图像并将其隐藏。

HTML:

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

查询:

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

JSFiddle:http: //jsfiddle.net/ax6Mv/

于 2013-08-23T15:52:06.443 回答
0

这应该足以让你开始:

$( '#myTable td:first td' ).each(
  function() {
    if ( $( this ).text().trim() == 'N/A' ) {
      $( '#myTable td' ).eq( 1 ).hide();
    }
  }
);
于 2013-08-23T15:31:20.087 回答