如果td中的图像src为null,我想隐藏包含图像的td。
我尝试了以下内容,但它隐藏的不仅仅是我试图定位的td:
$('td').each(function() {
if($(this).find('img').attr('src') == "null"){
$(this).css('display', 'none');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tbody>
<tr>
<td>
<p class="centered">
<label class="wrapable">
<img src="null">
<input name="test" value="1" type="radio">
</label>
</p>
</td>
<td>
<p class="centered">
<label class="wrapable">
<img src="null">
<input name="test" value="1" type="radio">
</label>
</p>
</td>
<td>
<p class="centered">
<label class="wrapable">
<img src="null">
<input name="test" value="1" type="radio">
</label>
</p>
</td>
<td>
<p class="centered">
<label class="wrapable">
<img src="http://lorempixel.com/100/100">
<input name="test" value="1" type="radio">
</label>
</p>
</td>
</tr>
<tbody>
</table>
任何帮助都会非常感激,还在学习:)。
答案 0 :(得分:3)
使用jQuery的最简单的解决方案:
$('td:has(img[src="null"])').hide();
或稍快一点:
$('td').has('img[src="null"]').hide();
答案 1 :(得分:1)
你也可以试试这个
<img onerror="this.parent.style.display='none'" src=".." />
答案 2 :(得分:1)
应该是这样的短线:$('img[src="null"]').parents('td:first').hide();
如果需要定位所有父td祖先$('img[src="null"]').parents('td').hide();
删除伪:第一选择器,