根据内容为空隐藏DIV

时间:2015-12-24 08:00:13

标签: javascript php jquery mysql css

我有一个名为swiper slide的幻灯片jquery插件。我使用幻灯片一次显示来自PHP mysql查询9结果的结果。

目前我的查询代码和幻灯片代码看起来像这样......

PHP QUERY

UIView.animateWithDuration(0.33, delay: 0, options:[UIViewAnimationOptions.CurveEaseOut, UIViewAnimationOptions.AllowUserInteraction], animations: { () -> Void in

        self.myTableView.setContentOffset(CGPoint(x: 0, y: 8), animated: false)


        }, completion: nil)

幻灯片代码

$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); 

我的问题是,无论是使用jquery还是PHP,我如何隐藏空白或内部没有结果的幻灯片。因此,如果我只返回8个结果,则第一张幻灯片应该是唯一显示的结果。

4 个答案:

答案 0 :(得分:6)

您可以使用:empty selector

  

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

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

OR,您可以使用简单的CSS :empty伪类

来实现它
.swiper-slide:empty { display: none;}    

答案 1 :(得分:2)

你可以通过它来帮助你

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

答案 2 :(得分:2)

你应该检查Query是否有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 } ?> 

答案 3 :(得分:1)

只需使用此css属性即可获得正确的结果

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