0

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

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

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

以下代码在 document.ready 函数中

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>
4

1 回答 1

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*/
于 2013-01-28T11:46:48.243 回答