在jquery中创建和删除div

时间:2012-09-19 15:42:02

标签: jquery

我在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?

3 个答案:

答案 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()
     }
});