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. _ 否则$('page')就是在你的 DOM 中寻找一个<page>显然不存在的元素。

于 2012-08-22T20:14:24.740 回答
2

有一个错字,你想让选择器说 $('.page')

于 2012-08-22T20:15:22.397 回答