1

$("img").each(function() {
    if($(this).is(':hidden')) {
        $("p#nothing").show();
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="imgWrap">
<img src="http://static.pullandbear.net/2/photos/2012/V/0/1/p/9396/326/800/9396326800_4_1_4.jpg" class="fashion black" alt="">
<img src="http://static.pullandbear.net/2/photos/2012/V/0/1/p/9396/323/401/9396323401_4_1_4.jpg" class="fashion" alt="">
<img src="http://static.pullandbear.net/2/photos/2012/V/0/1/p/9396/306/622/9396306622_4_1_4.jpg" class="fashion pink" alt="">
<img src="http://static.pullandbear.net/2/photos/2012/V/0/1/p/5396/361/707/5396361707_4_1_4.jpg" class="fashion brown" alt="">
<img src="http://static.pullandbear.net/2/photos/2012/V/0/1/p/5396/302/800/5396302800_4_1_4.jpg" class="fashion pink" alt="">
<img src="http://static.pullandbear.net/2/photos/2012/V/0/1/p/5396/377/800/5396377800_4_1_4.jpg" class="fashion black" alt="">
<img src="http://static.pullandbear.net/2/photos/2012/V/0/1/p/5396/349/725/5396349725_4_1_4.jpg" class="fashion beige" alt="">
<img src="http://static.pullandbear.net/2/photos/2012/V/0/1/p/5639/306/401/5639306401_4_1_4.jpg" class="jumpsuit blue" alt="">
</div>

$("img").each(function() {
    if($(this).is(':hidden')) {
        $("p#nothing").show();
    }
});

HTML:

<div id="imgWrap">
<img src="http://static.pullandbear.net/2/photos/2012/V/0/1/p/9396/326/800/9396326800_4_1_4.jpg" class="fashion black" alt="">
<img src="http://static.pullandbear.net/2/photos/2012/V/0/1/p/9396/323/401/9396323401_4_1_4.jpg" class="fashion" alt="">
<img src="http://static.pullandbear.net/2/photos/2012/V/0/1/p/9396/306/622/9396306622_4_1_4.jpg" class="fashion pink" alt="">
<img src="http://static.pullandbear.net/2/photos/2012/V/0/1/p/5396/361/707/5396361707_4_1_4.jpg" class="fashion brown" alt="">
<img src="http://static.pullandbear.net/2/photos/2012/V/0/1/p/5396/302/800/5396302800_4_1_4.jpg" class="fashion pink" alt="">
<img src="http://static.pullandbear.net/2/photos/2012/V/0/1/p/5396/377/800/5396377800_4_1_4.jpg" class="fashion black" alt="">
<img src="http://static.pullandbear.net/2/photos/2012/V/0/1/p/5396/349/725/5396349725_4_1_4.jpg" class="fashion beige" alt="">
<img src="http://static.pullandbear.net/2/photos/2012/V/0/1/p/5639/306/401/5639306401_4_1_4.jpg" class="jumpsuit blue" alt="">
</div>

<p id="nothing">No products were found that matched your filters</p>

これは機能しませんが、その理由は本当にわかりません。必要なこと: すべての画像が表示されているかどうかを確認します。それらのいずれも表示されていない場合は、段落を表示します。

ありがとう。

4

3 に答える 3

1

セレクターを使用して、表示されているimgコントロールを見つけることができます。$("img:visible")表示されているjQueryimgオブジェクトの配列を提供します。長さをチェックすることで、表示されているimgコントロールの数を確認しlength = 0、セレクターから要素が返されないことを意味しmeans none of img is visibleます。

if($("img:visible").length == 0)
{
  //show graph
}
于 2012-07-09T17:23:33.403 に答える
1

コードが行うことは、画像のいずれかが非表示になっている場合に段落を表示することです。必要なのは、すべてが非表示になっている場合に段落を表示することです。

var shown = false;
$("img").each(function() {
  if($(this).is(':hidden')) {
    shown = true;
  }
});
if (!shown) {
  $("p#nothing").show();
}
于 2012-07-09T17:25:19.277 に答える
0

これを試して:

if ($("img:hidden").length > 0) {
    $("p#nothing").show();
}
于 2012-07-09T17:25:16.413 に答える