[英]Count nested divs in JavaScript
嘿我需要用給定的類名來計算嵌套的div。 例如:
<div id = "divA">
<div class = "anotherName"></div>
<div class = "toBeCounted"></div>
<div class = "someName"></div>
<div class = "toBeCounted"></div>
<div class = "toBeCounted"></div>
<div class = ""></div>
</div>
<div id = "divB">
<div class = ""></div>
<div class = "toBeCounted"></div>
<div class = ""></div>
<div class = "toBeCounted"></div>
</div>
因此,如果我想計算“toBeCounted”,我將獲得3為divA和2為divB。
您可以使用.querySelectorAll()
並檢查結果的長度:
var divAcount = document.querySelectorAll("#divA > .toBeCounted").length;
該>
關系堅持認為, .toBeCounted
元素的直接子divA
。 如果這不是你想要的, 任何 toBeCounted
內格divA
應該算,你只是離開了>
。
使用Jquery,可以通過使用輕松實現
var countA = $("#divA .toBeCounted").length;
var countB = $("#divB .toBeCounted").length;
試試這個純粹的JavaScript代碼
var countinDivA = document.getElementById("divA").getElementsByClassName("toBeCounted").length;
var countinDivB = document.getElementById("divB").getElementsByClassName("toBeCounted").length;
如果您提前不知道父母的身份,這可能證明是有用的:
var parents = [],
counted = document.getElementsByClassName("toBeCounted");
for (var i=0; i < counted.length; i++ ) {
var id = counted[i].parentNode.id;
if ( !parents[id] ) parents[id] = 1
else parents[id]++;
}
[ divA: 3, divB: 2 ]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.