0

これは私のコードです:

   <script type="text/javascript">
    $(document).ready(function(){
        $('.toAdd').hide();
        $('#add').click(function () {
            var i = 0;
            $('.toAdd').each(function () {
                if ($(this).show()) {
                    i++;
                }
            });
        });
    });
    </script>

    <div id=add><input type="button" value="click"/>
    </div>
    <div id="toAdd">
    <label>1</label>
    </div>
    <div id="toAdd">
    <label>2</label>
    </div>
    <div id="toAdd">
    <label>3</label>
    </div>
    <div id="toAdd">
    <label>4</label>
    </div>

このコードでは、クリック イベントごとに 1 つずつ div を表示する必要がありますが、機能していませんか?

4

5 に答える 5

6

IDは一意である必要があります。代わりにクラスを使用してください。

$('.toAdd').hide();

var count = 0;
$('input').on('click',function(){
    $('.toAdd:eq('+count+')').show();
    count++;
});

JSFiddle

于 2013-09-02T08:03:07.883 に答える
2

div で id="toAdd" を class="toAdd" に変更します

于 2013-09-02T07:59:54.203 に答える
2

id="toAdd"他の人が言ったように、`class="toAdd"に変更する必要があります。

次に、非表示にされていない最初の DIV を次のように表示できます。

    $('#add input').click(function () {
        $('.toAdd:hidden:first').show();
    });

フィドル

于 2013-09-02T08:06:25.840 に答える
0

交換<div id="toAdd"> with <div class="toAdd">

そしてこれをする

  $('.toAdd').each(function () {
                if (!$(this.is(":visible"))) {
                   $(this).show();
                   break;
                }
            });
于 2013-09-02T08:02:27.557 に答える