2016-05-10 3 views
0

Ich habe eine HTML-Struktur ähnlich dieser:CSS-Sass: Gibt es eine Möglichkeit, eine Gruppe von Elementen auszuwählen und darüber zu iterieren?

<div class="wrap"> 
    <div class="char">A</div> 
    <div class="char">B</div> 
    <div class="char">C</div> 
    <div class="char">D</div> 
</div> 

Jetzt möchte ich über jedes Element zu durchlaufen, die die Klasse „char“ hat. In JavaScript ein möglicher Weg wäre:

// ... 
// Select elements with Class "char". 
var chars = document.querySelectorAll('.char'); 
// ...  

// After changing the node-list to an array I could ... 
for (i = 0; i < chars.length; i++) { 
    // Do something with the element. E.g. apply an transform. 
    // ... 

Gibt es eine Möglichkeit, diese Operationen „wählen Sie eine Gruppe von Elementen“ zu erreichen, „iterieren Gruppe“, „Prozess jedes Element“ mit Sass?

Update:

Dies sollte deutlich machen, was ich tun möchte. Dinge ähnlich wie diese, aber mit nur Sass (statt JavaScript):

var chars = document.querySelectorAll('.char'); 
 
chars = Array.prototype.slice.call(chars); 
 
var i; 
 

 
for (i = 0; i < chars.length; i++) { 
 
    chars[i].style['margin-left'] = (i * 10) + 'px'; 
 
}
<div class="wrap"> 
 
    <div class="char">A</div> 
 
    <div class="char">B</div> 
 
    <div class="char">C</div> 
 
    <div class="char">D</div> 
 
    <div class="char">E</div> 
 
</div>

+0

Es ist nicht klar, was du bist versuchen zu tun. Was wäre der Zweck dieser "Iteration"? –

+0

@Paulie_D Anwenden einer Operation auf jedes Element einer bestimmten Gruppe. Zum Beispiel: 'transformieren: drehen'. Ich meine: Ich kann es mit JavaScript machen. Aber wenn es einen Weg gibt, nur Sass zu benutzen, würde ich das bevorzugen. –

+0

Ja, aber würde die Nummer für jede Iteration anders sein ... Wenn ja, dann ist die Antwort nein. CSS kann Elemente nicht zählen. Sie müssen die Nummer im Voraus wissen und dann verwenden. –

Antwort

Verwandte Themen