1

ID とクラスを持つ div にラップされた 5 つのセグメントに分割されたレコードのグループがあります。

例えば

<div id="myid" class="myclass">
<p>record1</p>
<p>record2</p>    
</div>

5 つのレコードの最初のセットが表示され、残りは非表示になります。下にリンクがあり、クリックすると詳細が表示されます。クリックすると、別の 5 などが表示されます。

各コンテナーには、オフとオンのクラスがあります。これにより、表示されている div と表示されていない div がわかります。

ここで、クリックの個々のクリックごとにレコードの各セットを表示したいと思います。このコードを実行しましたが、うまくいかないようです。jquery に関する私の知識は限られています。

$(document).ready(function () {

// get first reviewBulkContainer and show
$(".reviewBulkContainer:first").show().addClass("On");

$("#showMoreReviews").click(function (e) {
    e.preventDefault();
    $("#reviewContainer .reviewBulkContainer").each(function () {
        if ($(this).hasClass("Off")) {
            $(this).show();
            $(this).removeClass("Off");
            $(this).addClass("On");
            return;
        }

    });
});

しかし、これは一度に 1 つだけではなく、すべてのレコード セグメントを表示することになります。誰でもこれについて私を助けることができますか?

ありがとう...

4

1 に答える 1

2

eachメソッドを使用する必要はありません。:firstクラスの最初の要素を表示する場合は、セレクターを使用できますOff

$("#showMoreReviews").click(function (e) {
    e.preventDefault();
    $("#reviewContainer .reviewBulkContainer.Off:first")
                                          .show()
                                          .toggleClass("Off On");
});
于 2012-10-03T12:41:10.463 に答える