首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击时隐藏条件标签

单击时隐藏条件标签
EN

Stack Overflow用户
提问于 2011-09-21 11:25:48
回答 2查看 164关注 0票数 0

我的html看起来像这样:

星期一、星期二、星期三、星期四、星期五、星期六、星期日

代码语言:javascript
复制
<a href="#Monday" id="ABC-1">Monday/a>
like that for all...

and its displaying information related to all of them
<table>

<tr id="Day-1">
    <td></td>
</tr>    
<tr class="odd">
     <td></td>
</tr>    
<tr class="even">
     <td></td>
</tr> 

<tr id="Day-2">
    <td></td>
</tr>     
<tr class="even">
    <td></td>
</tr>     
<tr class="odd">
    <td></td>
</tr>   
<tr class="even">
 <td></td>
</tr>

<tr id="Day-3">
   <td></td>
</tr>     
<tr class="odd">
  <td></td>
</tr> 

<tr id="Day-4">

.

代码语言:javascript
复制
nd so on..

I want that when I click Monday it should hide all the tr tags except..

 <tr id="Day-1">
    <td></td>
</tr>    
<tr class="odd">
     <td></td>
</tr>    
<tr class="even">
     <td></td>
</tr> 

(下一tr id=“Day-2”>之前的tr标记)

同样,当我单击星期二时,它应该显示tr id="Day-2“nd tr标签,而不显示id,并隐藏其余部分。

注意:您可以将id=“第1天”用于周一,将id=“第2天”用于周二,就像第5天用于周五一样……

所以当我点击星期五的时候,我想在下面显示id=Day-5和一些tr标签…

代码语言:javascript
复制
<tr id="Day-5>
<tr class="Even">
<tr class="even">    
<tr class="odd">
<tr class="even">
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-21 12:06:11

可以做类似以下的事情...

不确定day link中的ABC-1和表行中的Day-1背后的逻辑,但这将弥补这一点。

每次单击某一天的某一天时,我都会循环这些行。当循环到达正确的日期时,设置一个标志来显示下一组奇数/偶数行,直到它到达ID中包含" day“的下一行。

example jsfiddle

代码语言:javascript
复制
var $rows = $('table tr');

$('#days a').click(function() {
    var $that = $(this);
    var id = $that.attr('id').replace('ABC', 'Day');
    var isEvenOdds = false;
    $rows.each(function() {
        var $that = $(this);
        if ($that.attr('id') === id) {
            $that.show();
            isEvenOdds = true;
        } else {
            if ($that.attr('id') && $that.attr('id').indexOf('Day') > -1 && isEvenOdds) {
                isEvenOdds = false;
            }

            if (!isEvenOdds) {
                $that.hide();
            } else {
                $that.show();
            }
        }
    });
});
票数 0
EN

Stack Overflow用户

发布于 2011-09-21 11:42:23

好的,你的代码有点奇怪,但是假设我没看错你的问题,那么下面这些内容就可以工作了:

HTML:

代码语言:javascript
复制
<table>
    <tr class="mon">
        <td></td>
    </tr>
    <tr class="tues">
        <td></td>
    </tr>
</table>

<a href="#mon" rel="mon" class="showdates">Monday</a>

JS/jQuery:

代码语言:javascript
复制
$('a.showdates').click(function(e){
    e.preventDefault();
    var day = $(this).attr('rel');
    $('tr').hide().
    $('tr.'+day').show();
});

我还没有测试过这一点,所以您可能需要进行调整,但基本概念是:为需要显示/隐藏的元素分配一个类。在我的示例中,它是<tr>标记,但在您的示例中,它可能是<td><div>

单击时,隐藏所有这些标记,然后只显示具有适当类的那些标记,该类作为属性存储在所单击的元素中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7494239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档