2012-08-14 12 views
5

Ho già visualizzato this, non è quello che mi serve qui ..Applicare la regola CSS solo al primo <td> in <tr> SENZA assegnare una classe/id?

ho bisogno di qualcosa come

table.mytable tr first-td's { border: 1px solid black; } 

per

<table class="mytable"> 
<tr> 
<td>This has the border</td> 
<td>no border</td> 
<td>no border</td> 
</tr> 
<tr> 
<td>This has the border</td> 
<td>no border</td> 
<td>no border</td> 
</tr> 
<tr> 
<td>This has the border</td> 
<td>no border</td> 
<td>no border</td> 
</tr> 
</table> 

Se questo è impossibile fammelo sapere e io' Sarò triste.

Javascript/jQuery è accettabile se è necessario per completare il lavoro.

risposta

4

Sì. E'possibile:

utilizzare per le CSS

.mytable tr td:first-child { border: 1px solid black; }​ 

Try Here

+0

grazie gentilmente. Ho notato che td: anche l'ultimo figlio funziona, ma td: second-child no. Ah bene – khaverim

+2

@khanahk: per i numeri diversi dal primo/ultimo è possibile utilizzare per es. ': Nth-child (2)'. – pimvdb

+0

ah sì, ci sono anche parametri 'odd' e' even' che puoi mettere in ': nth-child()' con CSS3. Roba buona – khaverim

3

È possibile utilizzare :first-of-type, ma non è disponibile su browser più vecchi: http://jsfiddle.net/R9qE3/.

È anche possibile selezionare gli elementi giusti tramite jQuery (per il supporto cross-browser), ma è necessario aggiornare lo stato quando si aggiungono td se spostati.

3
table.mytable tr:first-child { 
    border: 1px solid black; 
} 
Problemi correlati