我有一个主要的 div 在我的页面与一个特定的 id。现在同一个类的一些输入元素出现在这个 div中。那么我如何使用 JQuery来计算这个 div中同类中这些元素的数量呢?
id
div
With jQuery you can use
jQuery
$('#main-div .specific-class').length
otherwise in VanillaJS (from IE8 included) you may use
IE8
document.querySelectorAll('#main-div .specific-class').length;
$('#maindivid').find('input .inputclass').length
You can get to the parent node and then query all the nodes with the class that is being searched. then we get the size
var parent = document.getElementById("parentId"); var nodesSameClass = parent.getElementsByClassName("test"); console.log(nodesSameClass.length);
<div id="parentId"> <p class="prueba">hello word1</p> <p class="test">hello word2</p> <p class="test">hello word3</p> <p class="test">hello word4</p> </div>
document.getElementsByClassName("classstringhere").length
The document.getElementsByClassName("classstringhere") method returns an array of all the elements with that class name, so .length gives you the amount of them.
document.getElementsByClassName("classstringhere")
.length
Simplest example:
document.getElementById("demo").innerHTML = "count: " + document.querySelectorAll('.test').length;
<html> <body> <p id="demo"></p> <ul> <li class="test">Coffee</li> <li class="test">Milk</li> <li class="test">Soda</li> </ul> </body> </html>
I'd like to write explicitly two methods which allow accomplishing this in pure JavaScript:
document.getElementsByClassName('realClasssName').length
Note 1: Argument of this method needs a string with the real class name, without the dot at the begin of this string.
document.querySelectorAll('.realClasssName').length
Note 2: Argument of this method needs a string with the real class name but with the dot at the begin of this string.
Note 3: This method works also with any other CSS selectors, not only with class selector. So it's more universal.
I also write one method, but using two name conventions to solve this problem using jQuery:
jQuery('.realClasssName').length
or
$('.realClasssName').length
Note 4: Here we also have to remember about the dot, before the class name, and we can also use other CSS selectors.