jQuery 按类计算元素 - 实现此目的的最佳方法是什么?

2022-08-29 23:20:34

我试图做的是用同一个类来计算当前页面中的所有元素,然后我将使用它来添加到输入表单的名称中。基本上,我允许用户单击一个,然后通过这样做为更多相同类型的项目添加另一个。但是我想不出一种方法来简单地用jQuery / JavaScript来计算所有这些。<span>

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


答案 1

应该只是像这样:

// Gets the number of elements with class yourClass
var numItems = $('.yourclass').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

获取引用同一类的元素数的计数就这么简单

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