首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jquery为表中的li创建过滤器

使用jquery为表中的li创建过滤器
EN

Stack Overflow用户
提问于 2016-06-05 11:18:01
回答 1查看 212关注 0票数 0

我对javascript不太熟悉,对你们大多数人来说,这很容易,但是.

我想为我的li>标签创建过滤器。在互联网上找到这段代码,它基本上是相同的,但是使用div>,我无法修改它,以便在li>上使用它

这是我的密码。

代码语言:javascript
复制
<button class="active button" id="all">Show All</button>
<button class="button" id="a">Show A</button>
<button class="button" id="b">Show B</button>
<button class="button" id="c">Show C</button>
<button class="button" id="d">Show D</button>

<div id="parent">
  <ul class="rig columns-3">
    <li class="a">
      <img src="image_1.jpg" />
    </li>
    <li class="b">
      <img src="image_1.jpg" />
    </li>
  </ul>
</div>

我用的剧本是:

代码语言:javascript
复制
var $btns = $('.button').click(function() {
  if (this.id == 'all') {
    $('#parent > li').fadeIn(450);
  } else {
    var $el = $('.' + this.id).fadeIn(450);
    $('#parent > li').not($el).hide();
  }
  $btns.removeClass('active');
  $(this).addClass('active');
}) 

有人能帮帮我吗?我非常相信:-)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-05 11:25:47

{element a} > {element b}是直接子级的选择器。这意味着,在这种情况下,#parent > li将在带有id parent的标记之后锁定<li>标记,而不是像下面这样在另一个标记内的标记。

代码语言:javascript
复制
<div id="parent">
    <li>
    <--!This will be selected>
    <li>
    <div class="child">
        <li>
        <--!This will not be selected>
        </li>    
    </div>
</div>

在您的例子中,您可以使用#parent > ul > li或只使用#parent li --这不需要li成为id parent标记的第一个子级

在这种情况下,您的脚本应该如下所示

代码语言:javascript
复制
var $btns = $('.button').click(function() {
  if (this.id == 'all') {
    $('#parent > ul > li').fadeIn(450);
  } else {
    var $el = $('.' + this.id).fadeIn(450);
    $('#parent > ul> li').not($el).hide();
  }
  $btns.removeClass('active');
  $(this).addClass('active');
}) 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37641228

复制
相关文章

相似问题

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