当另一行为空时隐藏一个表行

时间:2014-09-10 09:40:44

标签: php jquery html css

我在表中有一些数据,我动态生成两种不同的行。第一种是日期行,第二种是内容行。这样我可以显示例如对应于此的日期行下方的正确新闻。

<table class="channel-data">
<tbody>
    <?php 
    $current_date = "";
    while($programs=$obj->fetchNextObject($sql_tv_programs)):?>


    <?php if($current_date != $programs->date):?>
    <tr class="date active" id="date_<?php echo $programs->date?>">  
        <td>
            <?php 
                $current_date = $programs->date;

                $day = date('l', strtotime($current_date));
                $day_num = date('j', strtotime($current_date));
                $month = date('M', strtotime($current_date));
            ?>

            <div  class="current" style="display: block;">
                <h2>
                    <span id="match-day" class="tv_date"><span class="match-month-date"><span class="match-month"><?php echo translate($month) ?></span><span class="match-date"><?php echo date('d', strtotime($programs->end))?></span></span><?php echo translate($day) ?></span>
                </h2>
            </div>
        </td>
    </tr>
    <?php endif ?>
        <tr class="row sport_<?php echo $programs->sport_id?> active" onclick="$(this).siblings().children().children('.content').slideUp(200);$(this).children().children('.content').slideToggle(200);">
    <td>


                <div class="m">
                <p>bla</p>
                </div>
                <div class="i">
        <img src="#">
                </div>
                <div class="t">
                </div>
                <div class="l">
                </div>
                <div class="v">

                </div>
                <div class="content">

                    <div class="tv_league_responsive">
                    <span>&nbsp;<?php echo $programs->league?></span>
                    </div>
                    <ul>
                        <li class="ts-calendar"><a>some</a></li>
                        <li class="ts-facebook"><a>thing</a></li>
                        <li class="ts-twitter"><a>new</a></li>
                    </ul>

                </div>
            </td>
        </tr>
    <?php
    endif;
    endwhile
    ?>
</tbody>

我简化了我的代码,以便更容易理解。真正的问题是关于我的jquery代码:

<script>
$(document).ready(function(){
    if($('table.channel-data .row').hasClass('active')) {
        $('#date_<?php echo $programs->date?>').addClass('hello');
    }
});

在这里,我尝试将一个类添加到特定的生成ID,如果该行有一个“活动”的行。但是,这不起作用。这会是一个更好的方法吗?我的目标是能够在没有.row类的相应条目时隐藏日期行。希望这不是太糟糕了。

2 个答案:

答案 0 :(得分:0)

尝试: -

$(document).ready(function(){
   var td = $('table.channel-data tr td:eq(1)');
   var tdHtml = td.html();
   setInterval(function() {
      //empty row
      if (td.html() =="") {
         // it has changed
         td.hide();
      }
   }, 1000);
});

答案 1 :(得分:0)

不确定这是否是您想要的,如果您只想将类添加到同一个元素,您只需使用$(this)选择器而不检查其ID

    //--like this---
    if($('table.channel-data .row').hasClass('active')) {
         $(this).addClass('hello');
    }

希望它有所帮助! 干杯, Ajju