Javascript 如果包含的图像为空,我想隐藏父元素
我有一个带有单元格的表,其中包含一个用来保存图像的div 我想做的是,如果图像本身有一个空的src值,或者如果加载图像时出错,那么将父单元格的显示设置为无 该表实际上会在页面中列出一系列图像,但并非所有图像都是mepty或显示错误 下面的代码显示了表格单元格。。。{}中的信息实际上是作为文本文本传递的动态数据值。如果“img src”的值出错或为空,那么我想将TD的ID显示设置为“无”Javascript 如果包含的图像为空,我想隐藏父元素,javascript,jquery,Javascript,Jquery,我有一个带有单元格的表,其中包含一个用来保存图像的div 我想做的是,如果图像本身有一个空的src值,或者如果加载图像时出错,那么将父单元格的显示设置为无 该表实际上会在页面中列出一系列图像,但并非所有图像都是mepty或显示错误 下面的代码显示了表格单元格。。。{}中的信息实际上是作为文本文本传递的动态数据值。如果“img src”的值出错或为空,那么我想将TD的ID显示设置为“无” 我还想处理这样的情况:我的页面上只有一个表,每个div的表中有两个iamges,并且我想为每个div设置
我还想处理这样的情况:我的页面上只有一个表,每个div的表中有两个iamges,并且我想为每个div设置display=none,因为图像src是无效的URL,或者如果src=”“-请参见下面的示例
<table style="width: 100%;">
<tbody>
<tr>
<td>
<div class="image_container_no_rollover icg_4" id="hldr1">
<img src="http://lorempixel.com/400/200/" alt="">
</div>
<div id="hldr2" >
<img style="border: 0px none;" src="http://lorempixel.com/400/250/" alt="">
</div>
</td>
</tr>
</tbody>
有几种方法可以实现这一点。例如:
$('td').each(function() {
if($(this).find('img').attr('src') == "your evaluator here"){
$(this).css('display', 'none');
}
});
当然,在运行该代码之前,请确保已加载整个DOM。以下是操作方法:
$(document).ready(function () {
$("td").each(function () {
var $img = $(this).find("img");
if ($img[0] === undefined) return;
var td = this;
$(this).find("img").on("error", function () {
$(td).css("display", "none");
});
});
});
请查看:我发现有人能够为我提供所需的解决方案,您可以通过更简单的示例看到下面两种情况下的工作结果 在回答第一部分时…隐藏所有表格单元格检查每个单元格内的每个图像,如果指定的图像无效或src=“”则隐藏该单元格 }))
在回答我问题的第二部分时,请查看:[JSFiddle]()…隐藏其子元素包含无效图像或src=“”的任何元素
查看您能解释一下您尝试了什么吗?如果这是页面上唯一的表,并且每个图像上有两个单独的图像,我希望如上所述检查,分别隐藏保存每个图像的div,我也想知道如何更改脚本
$(document).ready(function () {
$("td").each(function () {
var $img = $(this).find("img");
if ($img[0] === undefined) return;
var td = this;
$(this).find("img").on("error", function () {
$(td).css("display", "none");
});
});
});
$(document).ready(function() {
$("table").find("img").each(function(){
if(!$(this).attr("src")){
$(this).closest("td").hide();
}else{
var image = new Image();
image.src = $(this).attr("src");
if (image.width == 0) {
$(this).closest("td").hide();
}
}
});
$(function() {
$("#tbl01").find("img").each(function(){
if(!$(this).attr("src")){
$(this).parent().hide();
}else{
$(this).load(function(){
// ... loaded
}).error(function(){
// ... not loaded
$(this).parent().hide();
});
}
});
});