Domanda

Sono nel mezzo di un iterazione .ach e volevo chiamare il 2 ° o 3 ° figlio per ciascuno..ma non può farlo funzionare.

alert($(this + ' :nth-child(2)').attr('id'));
.

La mia unica opzione che posso pensare è qualcosa di terribile goofy come questo:

 $(this).children(':first').next().attr('id', 'ddParam' + newCount);
 $(this).children(':first').next().next().attr('id', 'txt' + newCount);
 $(this).children(':first').next().next().next().attr('id'...
.

È stato utile?

Soluzione

Quello di cui hai bisogno è contesto .Con il contesto, il selettore cercherà solo elementi che sono i figli del contesto (in questo caso this).

$(':nth-child(2)', this).attr('id');
.

jsfiddle demo

Questo è fondamentalmente lo stesso di:

$(this).find(':nth-child(2)').attr('id');
.

Se hai solo bisogno dei bambini diretti, non ogni discendente, è necessario utilizzare .children():

$(this).children(':nth-child(2)').attr('id');
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top