0

だから私はこのコードを持っています:

<body>
<div id="pages"></div>
<script type="text/javascript">
$(function(){
        function createDiv(divclass,text) { 
                $('<div/>', {
                    class: 'page' + divclass,
                    html: '<p>' + text + '</p>'
                }).appendTo('#pages');
            } 
            for (var i = 1; i <= 4; i++){
                createDiv("",i);
            }
            var pagesdisplay = $('page').length;
            console.log(pagesdisplay);
        });
</script>

出力は次のとおりです。

<div class="page">
     <p>1</p>
</div>
<div class="page">
     <p>2</p>
</div>
<div class="page">
     <p>3</p>
</div>
<div class="page"><p>4</p></div>

コンソールを調べると、0が表示されます。関数によって自動的に生成されるdivをカウントするにはどうすればよいですか?

編集:そのfor(pagedisplay ++)でpagedisplayをインクリメントできますが、これは私が望むものではありません。

4

2 に答える 2

8

交換:

$('page').length;

と:

$('.page').length;

.を使用する場合は、クラス名の前にドット()を付ける必要がありますclass selector。それ以外の場合は、明らかに存在しないDOM内$('page')の要素を探しています。<page>

于 2012-08-22T20:14:24.740 に答える
2

タイプミスがあります。セレクターに$('。page')と言ってもらいます。

于 2012-08-22T20:15:22.397 に答える