2010-04-28 56 views
284

我想要做的是计算当前页面中的所有元素与同一个类,然后我将使用它添加到输入表单的名称。基本上,我允许用户点击一个<span>,然后再添加一个更多相同类型的项目。但我想不出用jQuery/JavaScript简单计算所有这些数据的方法。jQuery按类别统计元素;什么是实施这个最好的方法?

我打算将这个项目命名为name="whatever(total+1)",如果有人有简单的方法来做到这一点,我会非常感激,因为JavaScript不完全是我的母语。

+2

的第一人,我看到了它,我不知道这是一个简单的$(“类名”)。长度得到它。如果我有更多的话给我。没有想过要这样尝试。我一直在设置变量相当多和简单的东西,如附加文件等等 哇,我觉得非常愚蠢的,现在我应该想到寻找.length()命令,看看它说什么...谢谢给大家顺便说一句。 – 133794m3r 2010-04-28 07:42:54

+15

+1对于提问像Yoda – jbnunn 2012-03-07 17:14:32

+4

@jbnunn什么是尤达? – 2014-10-30 06:18:16

回答

520

应该仅仅是这样的:

// Gets the number of elements with class yourClass 
var numItems = $('.yourclass').length 




作为一个侧面说明,它往往是有益的链接功能很多呼吁前检查length属性一个jQuery对象,以确保我们实际上有一些工作要执行。请看下图:

var $items = $('.myclass'); 
// Ensure we have at least one element in $items before setting up animations 
// and other resource intensive tasks. 
if($items.length) 
{ 
    $items.animate(/* */) 
    // It might also be appropriate to check that we have 2 or more 
    // elements returned by the filter-call before animating this subset of 
    // items. 
    .filter(':odd') 
     .animate(/* */) 
     .end() 
    .promise() 
    .then(function() { 
     $items.addClass('all-done'); 
    }); 
} 
+2

只是想分享一下,这也适用于计算一个元素的孩子,因为这就是我当我在这里登陆时所做的: 'children('div.classname')。length' – brs14ku 2014-05-21 19:55:00

+0

当然不是一个好的解决方案,但完美的OP。 – 2017-04-07 18:51:31

12
var count = $('.' + myclassname).length; 
7

计数:

$('.yourClass').length;

应该正常工作。

在变量存储一样简单:

var count = $('.yourClass').length;

22

获取引用同一类元素的数量的计数是因为这

<html> 
    <head> 
     <script src="http://code.jquery.com/jquery-1.4.2.min.js"></script> 
     <script type="text/javascript"> 

      $(document).ready(function() { 
       alert($(".red").length); 
      }); 

     </script> 
    </head> 
    <body> 

     <p class="red">Test</p> 
     <p class="red">Test</p> 
     <p class="red anotherclass">Test</p> 
     <p class="red">Test</p> 
     <p class="red">Test</p> 
     <p class="red anotherclass">Test</p> 
    </body> 
</html> 
4

HTML一样简单:

<div> 
    <img src='' class='class' /> 
    <img src='' class='class' /> 
    <img src='' class='class' /> 
</div> 

JavaScript:

var numItems = $('.class').length; 

alert(numItems); 

Fiddle demo for inside only div

相关问题