首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery -如何筛选表格行

问jQuery -如何筛选表格行
EN

Stack Overflow用户
提问于 2012-07-10 15:35:51
回答 3查看 2.3K关注 0票数 0

我需要通过单击一个链接来过滤某个表行。

代码语言:javascript
复制
function filterRows(statusName) {
         $("#mainTable > tbody > tr").find(statusName).each( function () {
             alert($(this));
             //the alert is not shown

         });
     }

<a class="rejected" href="#" onclick="filterRows('rejected');">rejected</a>
<a class="new" href="#" onclick="filterRows('new');">new</a>

<table id="mainTable">
  <thead>
   <tr>
     <td>col1</td>
     <td>col2</td>
   </tr>
 </thead>
 <tbody class="Content">
  <tr class="rejected">
    <td>data1</td>
    <td>data12</td>
  </tr>
  <tr>
    <td>data13</td>
    <td>data15</td>
  </tr>
  <tr  class="new">
    <td>data16</td>
    <td>data18</td>
  </tr>
</tbody>

​

但是即使是alert($(this))也不能工作,有什么建议吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-10 15:53:26

我对选择器进行了如下修改:

代码语言:javascript
复制
function filterRows(statusName) {
    $("#mainTable tbody tr."+statusName).each( function () {
        console.log(this);
        $(this).hide();
    });
}

它可以进一步简化为:

代码语言:javascript
复制
function filterRows(statusName) {
    $("#mainTable tbody tr."+statusName).hide();
}

实现过滤器的

但是,如果您尝试基于存储为类的数据实现jQuery过滤器,则可以执行以下操作:

代码语言:javascript
复制
function filterRows(statusName) {
    $("#mainTable tbody tr."+statusName).show();
    $("#mainTable tbody tr").not("."+statusName).hide();
}

这将显示与“statusName”匹配的行,但同样重要的是,它将隐藏不匹配的行。记得要添加清除过滤器的功能!

票数 2
EN

Stack Overflow用户

发布于 2012-07-10 15:44:39

Guy David是对的--把你的HTML改成:

代码语言:javascript
复制
<table id="mainTable">
 <thead>
   <tr>
     <td>col1</td>
     <td>col2</td>
   </tr>
 </thead>
 <tbody>
  <tr class="rejected">
    <td>data1</td>
    <td>data12</td>
  </tr>
  <tr>
    <td>data13</td>
    <td>data15</td>
  </tr>
  <tr class="new">
    <td>data16</td>
    <td>data18</td>
  </tr>
 </tbody>
 ...
票数 0
EN

Stack Overflow用户

发布于 2012-07-10 15:47:39

或者:

代码语言:javascript
复制
$('a').click(function(e){

    $('.'+e.target.className).not('a').hide();

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

https://stackoverflow.com/questions/11408627

复制
相关文章

相似问题

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