Ответ 1
Вы можете использовать свойство jquery . length
var numItems = $('.item').length;
Учитывая что-то подобное:
<div class="wrapper">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
Как я, используя jQuery (или простой JS, если он короче - но я сомневаюсь в этом), подсчитайте количество div с классом "item"? В этом примере функция должна возвращать 5, так как существует 5 разделов класса item.
Спасибо!
Вы можете использовать свойство jquery . length
var numItems = $('.item').length;
Для лучшей производительности вы должны использовать:
var numItems = $('div.item').length;
Поскольку он будет искать только элементы div
в DOM
и будет быстрым.
Предложение: с использованием size()
вместо свойства length
означает один дополнительный шаг в обработке, поскольку size()
использует свойство length
в определении функции и возвращает результат.
Вы можете использовать свойство jQuery.children.
var numItems = $('.wrapper').children('div').length;
для получения дополнительной информации см. http://api.jquery.com/
Я только что создал эту функцию js, используя функцию размера jQuery http://api.jquery.com/size/
function classCount(name){
alert($('.'+name).size())
}
Указывает количество раз, когда имя класса встречается в документе.
И за простой ответ, если кто-то может быть заинтересован;
var count = document.getElementsByClassName("item");
Приветствия.
Ссылка: https://www.w3schools.com/jsref/met_document_getelementsbyclassname.asp
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
.test {
background: #ff4040;
color: #fff;
display: block;
font-size: 15px;
}
</style>
</head>
<body>
<div class="test"> one </div>
<div class="test"> two </div>
<div class="test"> three </div>
<div class="test"> four </div>
<div class="test"> five </div>
<div class="test"> six </div>
<div class="test"> seven </div>
<div class="test"> eight </div>
<div class="test"> nine </div>
<div class="test"> ten </div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
//get total length by class
var numItems = $('.test').length;
//get last three count
var numItems3=numItems-3;
var i = 0;
$('.test').each(function(){
i++;
if(i>numItems3)
{
$(this).attr("class","");
}
})
});
</script>
</body>
</html>