Javascript 使用筛选jquery隐藏表行

Javascript 使用筛选jquery隐藏表行,javascript,jquery,Javascript,Jquery,我有下面的例子 当你点击2010时,我需要估价和列表项一起消失 下面是我用来执行此操作的代码: $("#yearfilter a").live("click", function(e) { e.preventDefault(); //var v = $(this).val(); var v = $(this).attr("data-value"); if(v.lengt

我有下面的例子

当你点击2010时,我需要估价和列表项一起消失

下面是我用来执行此操作的代码:

$("#yearfilter a").live("click", function(e) {
                e.preventDefault();
                //var v = $(this).val();
                var v = $(this).attr("data-value");
                if(v.length > 0) {
                    $('tr.reports').show();
                    $('tr.reports ul').hide();
                    $('tr.reports ul.year-'+v).show();
                    $('tr.reports').each(function() {
                        if($('ul:visible', this).size() == 0) {
                            $(this).hide();
                        }
                    });
                } else {
                    $('tr.reports').show();
                    $('tr.reports ul').show();
                }
            });

给每个tr一个类似于
ID=“row_2010”
的ID,然后查找该ID并立即隐藏整行

更新

我强烈建议不要使用太多的表,而是使用更多的类来对数据结构进行分类。它将帮助您的javascript变得更加干净、简洁,并且功能更加简单

更新


我调整了所有JavaCScript和一些html。下面是一个完整的工作示例

我在我的项目中做过类似的工作:

function toggleRow(row_id) {
    row_selector = "#row_" + row_id;
    $(row_selector).toggleClass("shown hidden")
}
然后在CSS中:

.hidden {display:none;}
.shown {}
然后在HTML中,我有交替的表行,其中奇数行充当偶数行中内容的标题。单击奇数行可切换相应偶数行的可见性

...
<tr onclick="toggleRow(17)">...</tr>
<tr class="hidden" id="row_17">...</tr>
...
。。。
...
...
...

tr只是一个容器,它将有不同的年份-因此,如果没有显示年份,则估价将消失。因此,您的意思是,如果以隐藏估价行的方式隐藏所有选项,则需要隐藏整行?