2012-08-14 21 views
5

que ya ha examinado en this, no es lo que necesito aquí ..¿Aplicar la regla CSS solo al primer <td> en <tr> sin asignar una clase/ID?

necesito algo así como

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

para

<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> 

Si esto es imposible, házmelo saber y yo' Estaré triste.

Javascript/jQuery es aceptable si es necesario para hacer el trabajo.

Respuesta

4

Sí. Está posible:

uso en su CSS

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

Try Here

+0

gracias amablemente. Noté que td: last-child también funciona, pero td: second-child no funciona. Ah, bien – khaverim

+2

@khanahk: para números que no sean el primero/último, puede usar, p. ': nth-child (2)'. – pimvdb

+0

ah sí, incluso hay params 'impares' y' pares' que puedes poner en ': nth-child()' con CSS3. Buen material – khaverim

3

Puede utilizar :first-of-type, pero no es disponible en los navegadores antiguos: http://jsfiddle.net/R9qE3/.

También puede elegir los elementos correctos a través de jQuery (para compatibilidad con varios navegadores), pero deberá actualizar el estado cuando agregue td o los mueva.

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