我有一个HTML结构:
<div class="className"></div>
<div class="className"></div>
...
<div class="className"></div>
我试图用jQuery选择这些元素。为此,我想知道是否可以在循环中定位这些项目,其中N
是divs
的数量。在第一个循环中,我想要定位第一个div
,在第二个循环中定位第二个div
等等......
for (var i = 0; i < N; i++) {
$(".className")...
};
此外,可以通过jQuery知道具有相同类的divs
的数量吗?
答案 0 :(得分:6)
$(...)
表示法返回一个类似数组的对象,这意味着您可以通过索引引用特定元素:
$(".className")[i]...
然而值得注意的是,jQuery有几个自己的循环方法,包括each()
和map()
,在这种情况下可以使用它而不是本地for
循环:< / p>
$(".className").each(function() {
var current_element = $(this);
});
jQuery对象实现了JavaScript的length
属性,因此您可以使用它来计算匹配元素的数量:
var number_of_divs = $(".className").length;
为了满足您的问题要求:
var elems = $('.className'),
N = elems.length;
for (var i = 0; i < N; i++)
elems[i]...
答案 1 :(得分:1)
试试这个,
$('.className').each(function(){
// your logic
});
知道总数没有。具有相同类别的div,
var totalDivs = $('.className').length;
答案 2 :(得分:0)
你可以知道长度
$('.className').length;
尺寸大小();
$('.className').size(); // Deprecated since jQuery 1.8 though
或者只使用每个
$('.className').each(function(){ // code });
答案 3 :(得分:0)
要循环播放,您可以使用.each()
$(".className").each(function(){});
要获得总数,您只需使用属性length
。
var numOfDiv = $(".className").length;
答案 4 :(得分:0)
你需要知道每个()函数。
$(".className").each(function(Integer index, Element element){
.......
});
答案 5 :(得分:0)
$.each($('.className'),function(index,value){
console.log(value);
})
console.log('LENGTH : '+$('.className').length);
答案 6 :(得分:0)
运行$('.className')
时,实际上是在创建一个包含该特定类的所有元素的列表,包含在jQuery对象中。您可以在此对象上运行.each()
来迭代所有元素,如下所示:
$('.className').each(function (index, element) {
// this refers to the current element here (not wrapped in a jquery object)
});
答案 7 :(得分:0)
使用此代码:
var elems = $('.className');
N = elems.length; // this gives no. of divs
for (var i = 0; i < N; i++)
{
$(elems[i])... // by using this you can point to each div with same class name
}