0
hinzu
Ich versuche, eine Funktion zu schreiben, die die Anzahl der Elemente in der a-Zeile zählt. Dann möchte ich ein div hinter diese vielen Elemente einfügen, so dass es eine ganze Zeile unter den gezählten Elementen aufnimmt.Wie zähle ich Elemente in Zeile und füge div nach
Hier ist meine Funktion so weit. Nicht einmal sicher, ob ich auf richtigen Weg bin ... Bitte beachten sie diese CodePen für weitere Informationen: http://codepen.io/Auzy/pen/gmYBJy
var parentSelector = $('.container');
var childSelector = $('.box');
function countFirstRowItems(parentSelector, childSelector){
var count = 0, theTop = undefined;
$(parentSelector + " > " + childSelector).each(function(){
var thisTop = $(this).offset().top;
if(theTop === undefined){
theTop = thisTop;
}
if(thisTop != theTop){
return false;
}
count++;
});
return count;
}
console.log(countFirstRowItems());
Sie wollen die div nach dem letzten Element in der Zeile einzufügen? – Patrick
Was genau wird Ihre HTML-Struktur sein und was möchten Sie zählen? Sind diese Divs innerhalb eines div, oder ist dies eine Tabelle mit
Sie möchten nach einer Menge von '.box' Elementen ein' div' hinzufügen? Wenn der Betrag beispielsweise 3 ist, dann wollen Sie das: '.box - .box - .box - DIV - .box - .box - .box - DIV - .box ...'? –
Antwort
Quelle
2017-02-22 22:57:02
Dies ist nicht das Einführen des
div
adressiert, aber es tut Adresse, was mit dem Code richtig falsch ist jetzt.Diese Linien:
gehen und bekommen Sie ein JQuery passender Elemente wrapped gesetzt. Sie gelten nicht als Selektoren, so dass, wenn Sie dann versuchen, dies zu tun:
Der Code abstürzt, weil Sie nicht Strings hier sind, können Sie Objekte verwenden.
Stattdessen übergeben Sie einfach die Werte als Zeichenfolgen direkt an die Funktion.
Sie stoßen auch
count
von1
, wenn Sie versuchen, die Anzahl der gefundenen Elemente zu erhalten.Schließlich initialisieren Sie keine Variablen bei
undefined
, da dies das ist, worauf sie initialisiert werden, wenn Sie sie überhaupt nicht initialisieren. Initiiere sie stattdessen auf 'null' und überprüfe das.Quelle
2017-02-22 22:31:47
Anstelle von $ (p + ">" + c) ',' $ (p) .children (c) 'könnte klarer sein. – Barmar
@Barmar Ja, aber ich habe es mit der OP-Syntax belassen, um das Problem zu verdeutlichen. –
Sie CSS verwenden könnte das letzte Kind und wenden Sie die Pseudo nach dem Unterricht zum Ziel.
Code Pen
Quelle
2017-02-22 22:42:43 Patrick
Verwandte Themen