2014-10-10 59 views
0

我有一個HTML結構如何:選擇多個div具有相同的類

<div class="className"></div> 
<div class="className"></div> 
... 
<div class="className"></div> 

我想選擇與jQuery這些元素。爲此,我想知道是否有可能在循環內定位這些項目,其中Ndivs的數目。在第一圈我要指定的第一div,在第二循環第二div,等...

for (var i = 0; i < N; i++) { 
    $(".className")... 
}; 

此外,它可能知道的divs與jQuery的同等級多少?

回答

6

$(...)符號返回一個類似數組的對象,這意味着你可以通過它的指數是指一個特定的元素:

$(".className")[i]... 

然而,值得注意的是,jQuery有一個夫婦自身的循環方法,包括each()map()這或許可以用來代替天然for循環在這種情況下:

$(".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

它的工作原理!謝謝大家 – oscarvady 2014-10-10 09:17:19

1

試試這個,

$('.className').each(function(){ 
    // your logic 
}); 

要知道總沒有。 DIV與同一類,

var totalDivs = $('.className').length; 
0

你可以知道長度

$('.className').length; 

size size();

$('.className').size(); // Deprecated since jQuery 1.8 though 

或者只是使用每個

$('.className').each(function(){ // code }); 
0

要循環,您可以使用.each()

$(".className").each(function(){}); 

而且讓你只需要使用屬性length總數。

var numOfDiv = $(".className").length; 
0
$.each($('.className'),function(index,value){ 
console.log(value); 
}) 
console.log('LENGTH : '+$('.className').length); 
0

當運行$('.className'),你實際上是創建與特定類的所有元素,包裹在一個jQuery對象的列表。你可以在此對象上運行.each()遍歷所有元素,像這樣:

$('.className').each(function (index, element) { 
    // this refers to the current element here (not wrapped in a jquery object) 

}); 
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 
} 
+0

你的回答沒有增加任何討論。 – ankhzet 2017-06-07 08:38:20

相關問題