如果div中的所有img src都为null,则删除div

时间:2013-02-09 12:43:27

标签: jquery

Html代码

    <div class="add_pdt_img_nc">
    <h5>Additional Images</h5>
    <img border="0" src="" alt="">
    <img border="0" src="" alt="">
    <img border="0" src="" alt="">
    <img border="0" src="" alt="">
    </div>

如果所有图像src都为空,我想删除div有类add_pdt_img_nc

到目前为止我已经尝试了

$(".add_pdt_img_nc img").each(function() {
    if($(this).attr("src") == "") {
      $(".add_pdt_img_nc").remove();
    }
 });

但是如果第一个img src为null则删除div而不检查其他img src是否有值

3 个答案:

答案 0 :(得分:6)

var all_null = true;
$(".add_pdt_img_nc img").each(function() {
    if($(this).attr("src")!= "") {
       all_null = false;
       return false; // break
    }
});
if(all_null) {
   $(".add_pdt_img_nc").remove();
}

答案 1 :(得分:3)

试试这个:

$(".add_pdt_img_nc").each(function() {
    var $parent = $(this);
    if ($('img[src!=""]', this).length == 0) {
        $parent.remove();
    }
});

Example fiddle

这会检查img.add_pdt_img_nc元素是否存在src属性集。如果没有,则删除div

答案 2 :(得分:3)

使用此:

$("div").each(function(){
    if ($('img[src!=""]', this).length == 0 || !$('img').attr("src")) {
        $(this).remove();
    }
});