我有一个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
}
});
任何帮助表示赞赏!!
答案 0 :(得分:2)
尝试
$( '#myTable td:first-child td:contains("N/A")' ).closest('tr').closest('td').next().find('img').hide()
演示:Fiddle
答案 1 :(得分:2)
$('#myTable td:first-child td:contains("N/A")').parents('td').next().find('img').hide();
答案 2 :(得分:1)
在您的情况下,我要做的是为您的4个tr
标签添加一个带有文字的课程。然后你可以通过他们的类解析其中的每一个,如果其中一个等于'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/
答案 3 :(得分:0)
这应该足以让你入门:
$( '#myTable td:first td' ).each(
function() {
if ( $( this ).text().trim() == 'N/A' ) {
$( '#myTable td' ).eq( 1 ).hide();
}
}
);