Frage

Ich habe das folgende Dateimitglied.html.erb:

<ul class="members-list">
  <%@members.each do |member|%>
  <li class="member-item">
    <%=member.name%>
  </li>
  <%end%>
</ul>

Ich möchte die "erste" Klasse zum ersten Li hinzufügen, das (nur zum ersten) generiert wird, also würde sie so aussehen:

<ul>
  <li class="member-item first">john</li>
  <li class="member-item">chris</li>
</ul>

Irgendwelche Gedanken?

War es hilfreich?

Lösung

Sie könnten dies auch mit CSS erreichen, wenn es nur für das Styling ist. Wenn Sie entweder eine ID oder eine Klasse im UL haben, können Sie in CSS schreiben

ul.member-list li:first-child {
WHATEVER STYLING CODE THAT YOU WOULD PUT IN member-item first
}

und für den Rest der Li-Tags

ul.member-list li {

}

Wenn Sie möchten, dass die Klasse hinzugefügt wird, könnten Sie z. B. zB z. B.

<ul>
    <% @members.each_with_index do |member, i| %>

    <% if i == 0 %>
        <li class="member-item first">
            <% member.name %>
        </li>
    <% else %>
        <li class="member-item">
            <% member.name %>
        </li>
    <% end %>
</ul>

Andere Tipps

Ähnlich, aber knapper, Ansatz zu Andreas/Heikkis Antwort:

<ul>
  <% @members.each_with_index do |member, i| %>
    <li class="member-item<%= ' first' if i == 0 %>">
        <% member.name %>
    </li>
  <% end %>
</ul>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top