簡體   English   中英

在JavaScript中計算嵌套的div

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM