Ich habe ein div mit span drin. Gibt es eine Möglichkeit zu zählen, wie viele Elemente in einem div dann als Wert ausgegeben werden. Zum Beispiel gab es 5 Spannen in einem Div, dann würde es zählen und fünf alarmieren. Bitte in Javascript.
Vielen Dank.
das könnte sich als nützlich erweisen
– Elias Van Ootegem
2. September 2012 um 16:19 Uhr
Oriol
Wenn Sie die Anzahl der Nachkommen möchten, können Sie verwenden
var element = document.getElementById("theElementId");
var numberOfChildren = element.getElementsByTagName('*').length
Wenn Sie jedoch die Anzahl der unmittelbar untergeordneten Elemente möchten, verwenden Sie
Sie können diese Funktion verwenden, sie vermeidet das Zählen von TextNodes. Sie können wählen, ob Sie die Kinder der Kinder zählen möchten (dh rekursiv).
function getCount(parent, getChildrensChildren){
var relevantChildren = 0;
var children = parent.childNodes.length;
for(var i=0; i < children; i++){
if(parent.childNodes[i].nodeType != 3){
if(getChildrensChildren)
relevantChildren += getCount(parent.childNodes[i],true);
relevantChildren++;
}
}
return relevantChildren;
}
Verwendungszweck:
var element = document.getElementById("someElement");
alert(getCount(element, false)); // Simply one level
alert(getCount(element, true)); // Get all child node count
Keine Ursache, gern geschehen. Wenn dies das Problem löst, vergessen Sie nicht, es als Antwort zu markieren. Wenn Sie weitere Erklärungen zur Funktionsweise benötigen, lassen Sie es mich wissen.
– Scott
2. September 2012 um 17:07 Uhr
Wechsel
Ohne jQuery:
var element = document.getElementById("theElementId");
var numberOfChildren = element.children.length
Mit jQuery:
var $element = $(cssSelectocr);
var numberOfChildren = $element.children().length;
Beide geben nur unmittelbar untergeordnete Elemente zurück.
Dies schlägt fehl, wenn das div verschachtelte Elemente enthält.
– Andreas Köberle
2. September 2012 um 16:16 Uhr
Die Frage ist dahingehend nicht eindeutig, ich habe nur erste Kinder angenommen.
– Wechsel
3. September 2012 um 14:10 Uhr
Sandeep GB
Mit jQuery; prüft nur auf Spannen innerhalb eines div:
Wenn Sie nur direkte untergeordnete Elemente (keine tieferen Ebenen) und nur Elementknoten (keine Text- oder Kommentarknoten) zählen und eine breite Browserunterstützung wünschen, können Sie dies tun:
function countChildElements(parent) {
var children = parent.childNodes, cnt = 0;
for (var i = 0, len = children.length; i < len; i++) {
if (children[i].nodeType === 1) {
++cnt;
}
}
return(cnt);
}
11754600cookie-checkZähle wie viele Elemente in einem divyes
das könnte sich als nützlich erweisen
– Elias Van Ootegem
2. September 2012 um 16:19 Uhr