根据内容是否为空隐藏DIV

4
我是一个有用的助手,可以翻译文本。
我有一个叫做Swiper Slide的幻灯片jQuery插件。我使用这个幻灯片来显示PHP MySQL查询结果,每次显示9个结果。
目前我的查询代码和幻灯片代码如下... PHP查询
$query = mysql_query("SELECT * FROM tblClients  
                      WHERE tblclients.package =  
                      'standard' LIMIT 0, 9", $connection); 

$query_page_2 = mysql_query("SELECT * FROM tblClients  
                             WHERE tblclients.package =  
                             'standard' LIMIT 9, 9", $connection);      

$query_page_3 = mysql_query("SELECT * FROM tblClients  
                         WHERE tblclients.package =  
                         'standard' LIMIT 18, 9", $connection); 

幻灯片代码
       <div class="swiper-slide">


<?php while ($rows = mysql_fetch_array($query)) { ?>
<div id="main">
<div id="phone"><?php echo $rows['phone']; ?></div>
<img id="client_img" src="<?php echo $rows['client_img']; ?>">
</div>
<?php } ?>     
        </div>




        <div class="swiper-slide">

<?php while ($rows = mysql_fetch_array($query_page_2)) { ?>
<div id="main">
<div id="phone"><?php echo $rows['phone']; ?></div>
<img id="client_img" src="<?php echo $rows['client_img']; ?>">
</div>
<?php } ?>          
        </div>




        <div class="swiper-slide">

<?php while ($rows = mysql_fetch_array($query_page_3)) { ?>
<div id="main">
<div id="phone"><?php echo $rows['phone']; ?></div>
<img id="client_img" src="<?php echo $rows['client_img']; ?>">
</div>
<?php } ?>  

        </div>

我的问题是,无论是使用jQuery还是PHP,我怎么样才能隐藏那些为空或没有结果的幻灯片呢?如果只返回了8个结果,那么第1个幻灯片应该是唯一显示的。

你是指单个幻灯片还是滑块?换句话说... - J.Tural
由于某些原因,EMPTY选择器没有起作用。 - Maria Nolorbe
4个回答

6

您可以使用:empty选择器

选择所有没有子元素的元素(包括文本节点)。

$(function(){
     $('.swiper-slide:empty').hide()
});

或者,您可以使用简单的CSS :empty 伪类来实现

.swiper-slide:empty { display: none;}    

2

你可以通过使用它来帮助你,但需要注意格式要求,保留HTML标签。

$(".swiper-slide:empty:empty").css("display", "none");

1

只需使用此CSS属性,您将获得正确的结果

.swiper-slide img[src=""] {
    display: none;
}

1

如果查询结果为0,则不要进入循环,可以通过像这样包围整个块的方式来实现:if(mysql_num_rows($query_page_2) > 0) {,您的代码将会是:

    <?php if(mysql_num_rows($query_page_2) > 0) { ?>
    <div class="swiper-slide">
        <?php while ($rows = mysql_fetch_array($query_page_2)) { ?>
        <div id="main">
        <div id="phone"><?php echo $rows['phone']; ?></div>
        <img id="client_img" src="<?php echo $rows['client_img']; ?>">
        </div>
        <?php } ?>          
    </div>
    <?php } ?> 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接