[英]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()
演示: 小提琴
$('#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.