jQuery:显示/隐藏表格行

时间:2013-01-28 11:39:56

标签: jquery

我试图通过为tr元素的class属性指定一个数字id来显示隐藏表行

我对它进行了编码,以便显示此数字id的第一个实例,而其余部分则被隐藏。单击第一个实例应显示具有相同ID的其余行。

这是我到目前为止的代码,但它无法显示其余的行:

以下代码位于document.ready function

var ids = ["1","2","3","4","5","6","7","8","9","10"];

        var i;

        for (i = 0; i < ids.length; i++) {


             $("." + ids[i]).hide()

             $("." + ids[i] + ":first").show()

             $("." + ids[i] + ":first").click(function () {

                if( $("." + ids[i] + ":last").css('display') == 'none') {

                    $("." + ids[i]).show()

                } else {

                     $("." + ids[i]).hide()

                     $("." + ids[i] + ":first").show()

                }

            });


        }

html只是

<tr class="<%= @current_id %>">
<td>test data</td>
<td>test data</td>
</tr>

1 个答案:

答案 0 :(得分:1)

你有很多错误:

$("." + ids[i] + ":first")
to
$("." + ids[i]).first()

然后

if( $("." + ids[i] + ":last").css('display') == 'none')

to 

if( $("." + ids[i]).last().is(':visible'))

然后用";"关闭所有方法:

$("." + ids[i]).show()

$("." + ids[i]).show();

班级.1.2等等无效,您应该将其替换为.1-row

然后,实际上你选择了所有tr而不是td元素,你应该像以下那样做:

$("."+ids[i]).children('td').first().....ect /*this select the first td of the tr*/