我在div中显示图像。如果图像不在div中,我目前正在隐藏div。但是,根据页面中div的位置,如果div为空,我会在页面上找到木板斑点。如果它是空的我想崩溃它。我目前正在这样做:
html代码:
<div id="main" class="main1">
<div id="div1" class="center"></div>
<div id="div2" class="center"></div>
<div id="div3" class="center"></div>
</div>
<div id="right" class="right1">
<div id="div4" class="center"></div>
<div id="div5" class="center"></div>
<div id="div6" class="center"></div>
</div>
</div>
jquery代码:
$(function () {
$('#div3').html("").css({ "border": "", "margin": "0" });
var myImage13 = new Image();
$(myImage13).load(function () {
$('#div3').show();
$("#div3").html(myImage13).css({ "border": "2px solid #E0E0E0" });
$('#div3').css({ "width": "500px", "height": "500px" });
$('#div3 img').css({ "width": "500px", "height": "500px" });
}).attr('src', img_src).error(function () {
$('#div3').html("").css({ "border": "", "margin": "0" });
$('#div3').hide();
})
});
我尝试了$('#div3')。remove(),但这完全删除了div。如果在jquery中它是空的,我有什么想法可以解除div?
答案 0 :(得分:0)
引用.error jQuery doc:
必须在浏览器触发错误之前附加事件处理程序 事件,这就是示例在附加后设置src属性的原因 处理程序。此外,错误事件可能无法正确触发 页面在本地提供;错误依赖于HTTP状态代码和意志 如果URL使用文件:protocol。
,通常不会被触发
换句话说,在代码中.error
之后放置.attr
:
...
.error(function() {
$('#div3').html("")
.css({ border: '', margin: 0 })
.hide();
}).attr('src', img_src)
...
答案 1 :(得分:0)
这是你要找的吗?
$(document).ready(function() {
$('div:empty').hide();
});
答案 2 :(得分:0)
假设你的div没有图像以外的元素,你可以试试这个
var elems = $('#div1, #div2, #div3 , #div4, #div5', #div6);
$.each(elems , function(){
if( $(this).children.length() < 1)){
$(this).hide()
}
});