首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jquery - filter子div?

jquery - filter子div?
EN

Stack Overflow用户
提问于 2009-12-11 11:45:16
回答 3查看 1.6K关注 0票数 1

我最终把一个表转换成了div...但是,在这样做的过程中,我需要重写一个函数,并且我遇到了一些问题...我试图实现$(this).closest('div'),但它并没有像我想象的那样做……还在读,但如果有人知道解决方案,我会是一个快乐的野营者...

基本上,当我单击一个链接时,它会过滤表格,使其只显示具有与链接的类匹配的类的行……

这是代码,它最初是用来筛选表的……

代码语言:javascript
运行
复制
<a href="#" class="dairy">Dairy</a>
<a href="#" class="meat">Meat</a>
<a href="#" class="vegetable">Vegetable</a>

$('a').click(function(evt){
    var myId = $(this).attr('class');

    $('tr').each(function(idx, el){
        if ($(el).hasClass(myId))
        {
            $(el).show();
        }
        else
        {
            $(el).hide();
        }
    });
});

此后,我将表更改为div:

代码语言:javascript
运行
复制
<div id="primary-div">

  <div class="child dairy">
    <div class="title">Title</div>
    <div class="text">Lorem ipsum</div>
  </div>

  <div class="child dairy">
    <div class="title">Title</div>
    <div class="text">Lorem ipsum</div>
  </div>

  <div class="child meat">
    <div class="title">Title</div>
    <div class="text">Lorem ipsum</div>
  </div>

  <div class="child vegetable">
    <div class="title">Title</div>
    <div class="text">Lorem ipsum</div>
  </div>

</div>

就像我说的,我还在找,但我非常不成功...

EN

Stack Overflow用户

发布于 2009-12-11 14:29:12

为了方便起见,这里有一个优化版本,它利用了jQuery链接和end()方法:

代码语言:javascript
运行
复制
$('a').click(function(e){
    $("div#primary-div > div")
         .not('.' + this.className).hide().end()
         .filter('.' + this.className).show();

    return false;
});
票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1885661

复制
相关文章

相似问题

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