计算自动生成的div

时间:2012-08-22 20:12:50

标签: javascript jquery html

所以我有这段代码:

<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?

编辑:我可以为(pagedisplay ++)增加页面显示,但这不是我想要的。

2 个答案:

答案 0 :(得分:8)

替换:

$('page').length;

使用:

$('.page').length;

使用class selector时,您需要在类名前加一个点(.)。否则$('page')正在您的DOM中寻找<page>元素,这显然不存在。

答案 1 :(得分:2)

有一个拼写错误,你希望选择器说$('。page')