12

リンクをクリックすると、クリックした行のデータに属する「サブ行」が表示されるテーブルがあります。

サブローの数は0からnまで変化する可能性があるので、この方法でサブローの数を計算する必要があると思います.valが、これは正しいですか?したがって、値は、クラス名が「アフィリエイト」trで、クラス名がない次の行までの非表示の行の数である必要があります。これどうやってするの?私はいくつかの試みをしましたが、jQueryにはかなり慣れていません。

私はtr.affiliatedの数を計算するためにこのようなことを考えました:

 var affiliatednumber = $(this).find("tr.affiliated").val().stop();

デモ

4

2 に答える 2

8

各親にクラスを配置すると、次のようtrに使用できます。nextUntil()

<tbody>
    <tr class="parent">
        <td>John</td>
        <td>HR Admin</td>
        <td>10/10/1980</td>
        <td>Yes</td>
        <td><a class="showaffiliated" href="#">Yes</a></td>
    </tr>
    <tr class="affiliated">
        <td colspan="2">Amanda</td>
        <td colspan="3">20/20/1985</td>
    </tr>
    <tr class="affiliated">
        <td colspan="2">Louis</td>
        <td colspan="3">20/10/2010</td>
    </tr>
</tbody>
$("tr.affiliated").hide();

$("a.showaffiliated").click(function() {
    var $affiliated = $(this).closest(".parent").nextUntil(".parent");
    $affiliated.toggle();
    var affiliatednumber = $affiliated.length;
});

フィドルの例

于 2012-12-19T15:22:51.627 に答える
3

http://jsfiddle.net/6t6QT/2/

.valとの使用は.stop意味がなく、入力ではなく. を使用していますa.nextUntil行がグループ化されるため、使用しました。の最も近い親行a(これは「マスター」行です).nextUntilを見つけて、関連する行を見つけるために使用します。次は他のマスター行までです。マスター行に独自のクラスがある場合も役立ちます。

于 2012-12-19T15:25:30.670 に答える