如何在找不到图像时隐藏DIV?

时间:2013-11-10 19:06:50

标签: jquery

我正在网站上工作并发生问题。我希望如果一个图像存在,其他DIV应该隐藏。

如果存在所有5个图像,则不应隐藏任何DIV。

如果存在少于5张图像,则剩余的DIV应该隐藏。

我不是jquery的专家,所以寻找简短的jquery片段,可以这样做。

这是html。

<div class="screenshoto">
<div id="scr"><a href="{$screenshot_1}"><img title="{$p_name} {$p_vers} screenshot" alt="{$p_name} {$p_vers} screenshot" style="max-width:615px;" src="{$screenshot_1}"></a></div> </br>
<div id="scr"><a href="{$screenshot_2}"><img title="{$p_name} {$p_vers} screenshot" alt="{$p_name} {$p_vers} screenshot" style="max-width:615px;" src="{$screenshot_2}"></a></div> </br>
<div id="scr"><a href="{$screenshot_3}"><img title="{$p_name} {$p_vers} screenshot" alt="{$p_name} {$p_vers} screenshot" style="max-width:615px;" src="{$screenshot_3}"></a></div> </br>
<div id="scr"><a href="{$screenshot_4}"><img title="{$p_name} {$p_vers} screenshot" alt="{$p_name} {$p_vers} screenshot" style="max-width:615px;" src="{$screenshot_4}"></a></div> </br>
<div id="scr"><a href="{$screenshot_5}"><img title="{$p_name} {$p_vers} screenshot" alt="{$p_name} {$p_vers} screenshot" style="max-width:615px;" src="{$screenshot_5}"></a></div> </br>
</div>

我搜索了Stack Overflow,但发现了一个相关的(check if image does NOT exist then hide a div)代码段并且没有用。

有人可以帮助我的html工作代码。感谢。

1 个答案:

答案 0 :(得分:0)

试试这个:

    var breakLoop = false; //initialising 
    $('.screenshoto div').each(function(){
        if(breakLoop ) return false; //breaking the loop if image is missing
        if($(this).find('img').length == 0){
           $(this).hide();
           breakLoop = true;
        }
    });