0

tr 要素の class 属性に数値 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 に答える