2016-01-08 42 views
0

我想提醒有多少個孩子在與「.child」類的div中。例如:div中有五個「.child」。我不知道爲什麼我的for循環做不到這一點,我意識到有更好的方法,但我正在練習循環。謝謝。這個問題可以在這裏http://jqexercise.droppages.com/#page_0013_jquery「for」循環找到有多少個孩子

for (var i = 1; i < 100; i++){ 
    if($(".child:nth-child(i)") == true){  
    } 
    else { 
     alert(i); 
     break;  
    } 
} 
+1

因爲'javscript'的標籤:'document.querySelectorAll(「。child」).length' – Andreas

回答

1

發現你可以得到的.child數量在一個div像以下。

var num = $('div').find('.child').length; 
 
console.log(num);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div> 
 
    <span class="child">Child</span> 
 
    <span class="child">Child</span> 
 
    <span class="child">Child</span> 
 
    <span class="child">Child</span> 
 
    <span class="child">Child</span> 
 
    <span class="child">Child</span> 
 
</div>

更新:如果你想用for循環,那麼你可以像下面使用jqueryeq()功能。

for (var i = 0; i < 100; i++) { 
    if ($('.child').eq(i).length) { 

    } 
    else { 
     alert(i); 
     break; 
    } 
} 

您使用了i作爲字符串。使用nth-child()就像下面這樣做。

for (var i = 1; i < 100; i++) { 
    if ($(".child:nth-child(" + i + ")").length) { 

    } 
    else { 
     alert(i-1); 
     break; 
    } 
} 
+0

當然,我只是試驗「for」循環,即使它沒有意義。 – Chris

+1

查看我的更新回答@Chris – Azim

1

另一種方式:

alert($('div .child').length); 
+0

當然,我只是在嘗試「for」循環,即使它沒有任何意義。 – Chris

+0

是的,'for'循環在你的情況下並不是最優的東西 – RomanPerekhrest

1
var intChildrenCount = $("div .child").length; 
+0

當然,我只是試驗「for」循環,即使它沒有意義。 – Chris

1

i內,如果條件是一個字符串,而不是一個變量,這樣做:

if ($(".child:nth-child(" + i + ")") == true) 
+0

你是一個天才。雖然它只會提醒「1」,即使答案應該是5. – Chris

+1

請參閱@ azim的回答隊友 –

1
var arrChildren = $("div .child"); 
$.each(arrChildren,function(){ 
    // Here you will get child's HTML one by one 
    console.log($(this).html()); 
}); 
+0

似乎沒有工作... – Chris

+1

上述代碼中的問題是什麼? –

+0

我道歉我沒有意識到它是console.log。謝謝! – Chris