suit: jQuery :lt()

Beitrag lesen

Nun wollte ich von jeder Classe: selected nur die ersten zwei td selektieren.
$('.selected td:lt(2)'). Jedoch erhalte ich statt den ersten zwei Elementen jeder
Klasse (a1, a2, c1, c2) nur die ersten zwei Elemente des globalen Kontext (a1, a2).
lower then versagt. Ich hoffe ihr könnt mir helfen.

Dein Selektor zielt auf das 3. td-Element in einem Element mit der Klasse "selected", der index ist Zero-Based (im gegensatz zu nth-child) und liefert eine Collection mit allen Elementen die einen kleineren index haben.

Du bekommst also ursprünglich a1,a2,c1 und c2 und von dennen die ersten beiden Elemente (c1 und c2 haben in dieser collection den Index 3 und 4)

Das Ziel ist es nur die ersten zwei <td> jedes Klasse mit einem click event zu versehen,
da es bei den anderen <td> z.B.: eine Selectbox oder einen submit-button gibt.

Imho ist nth-child() hier die bessere lösung.

.selected nth-child(-n+2)