Foros del Web » Programando para Internet » Javascript »

Agregar clase a tbody

Estas en el tema de Agregar clase a tbody en el foro de Javascript en Foros del Web. Hola a tod@s! espero puedan apoyarme Les comento que tengo una tabla dinamica a la que voy agregando filas y columnas con la sentencia: tablaId.tBodies[0].appendChild(renglon); ...
  #1 (permalink)  
Antiguo 07/06/2012, 08:33
 
Fecha de Ingreso: junio-2012
Mensajes: 3
Antigüedad: 12 años, 5 meses
Puntos: 0
Agregar clase a tbody

Hola a tod@s! espero puedan apoyarme

Les comento que tengo una tabla dinamica a la que voy agregando filas y columnas con la sentencia:

tablaId.tBodies[0].appendChild(renglon);

En el body de la pagina como ven en la tabla he declarado solo el titulo de las columnas ya que de forma dinamica le voy agregando los datos por fila y columna, mi problema es al tratar de asignarle al tbody una clase, ya que esa clase hace que en el tbody de la tabla se genere un scroll. Ya resuelto el problema lo que deberia generarse (dinamicamente) sería algo como:
<tbody class="scrollContent"></tbody>

¿Como puedo asignar dinamicamente una clase (estilo) al tbody?

<body>
<table width="700" height="160" border="1" id=" tablaId">

<tr>
<th scope="col" >MATERIAL</th>
<th scope="col" class= "titulo">ID </th>
<th scope="col">CANT</th>
<th scope="col">EMP</th>
<th scope="col">TIPO</th>
</tr>

</table>
</body>


Muchas gracias!!
  #2 (permalink)  
Antiguo 07/06/2012, 14:51
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Agregar clase a tbody

En primer lugar, bienvenido/a a FDW alexa12
  • tu tabla no tiene ningún tbody
  • De tenerlo, es semanticamente incorrecto si no se lo asocia a un tfoot y thead,
  • un tbody puede ser estillizado con css ó con javascript
  • mencionás una clase scrollContent de la que no se tienen noticias
  • no se entiende para nada tu problema, expresado como está

por si te sirve
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2.    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  5. <title>tb</title>
  6. <style type="text/css">
  7. /*<![CDATA[*/
  8. thead {color:green}
  9. tbody {color:blue; font-family: arial;}
  10. tfoot {color:red}
  11. /*]]>*/
  12. <script type="text/javascript">
  13. //<![CDATA[
  14. function tb(){
  15. document.getElementById('cuerpo').style.fontWeight = 'bold';
  16. }
  17. window.onload = tb;
  18. //]]>
  19. </head>
  20. <table border="1">
  21. <tr>
  22. <th>
  23. AAA
  24. </th>
  25. <th>
  26. BBB
  27. </th>
  28. </tr>
  29. <tr>
  30. <td>
  31. ccc
  32. </td>
  33. <td>
  34. ddd
  35. </td>
  36. </tr>
  37. <tbody id="cuerpo">
  38. <tr>
  39. <td>
  40. ccc
  41. </td>
  42. <td>
  43. ddd
  44. </td>
  45. </tr>
  46. <tr>
  47. <td>
  48. ccc
  49. </td>
  50. <td>
  51. ddd
  52. </td>
  53. </tr>
  54. </body>
  55. </html>

__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 08/06/2012, 10:48
 
Fecha de Ingreso: junio-2012
Mensajes: 3
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Agregar clase a tbody

Hola Emprear gracias por tu respuesta, espero ahora explicarme mejor:

Como decía las columnas y filas asi como el tbody son dinamicos. Lo unico que declaro en el body es:

<table width="700" height="160" border="1" id="idTabla">
<tr >
<th scope="col" >MATERIAL</th>
<th scope="col" class= "titulo">COLOR</th>

</tr>
</table>


En las funciones JavaScript genero el contenido de la tabla: idTabla

function genera(){
varTabla = document.getElementById('idTabla');

for(var i = 1; i<=aValores.length;i++){

renglon = document.createElement('tr');
//creo un campo text
textM = crearInput();

for(var c = 1; c <= columnas;c++){
celda = document.createElement('td');
celda.setAttribute("class","input");
if (c==1){
celda.appendChild(textM);
}

//a la fila agrego
renglon.appendChild(celda);

}


}

varTabla.tBodies[0].appendChild(renglon);

}

Al final le asigno al tbodies una nueva fila
varTabla.tBodies[0].appendChild(renglon);

y asi voy sucesivamente, de esta misma forma puedo asignarle una clase?

Ejemplo: (suponiendo fuera correcto)
varTabla.tBodies[0].appendClass(classname); ??


Gracias!!
  #4 (permalink)  
Antiguo 08/06/2012, 11:34
 
Fecha de Ingreso: junio-2012
Ubicación: Argentina - Buenos Aires
Mensajes: 135
Antigüedad: 12 años, 5 meses
Puntos: 32
Respuesta: Agregar clase a tbody

Buenas, podrias probar esto.
Funciona con casi cualquier objeto javascript, incluso tablas, tbody, thead y tfoot.

Código Javascript:
Ver original
  1. objHTML.classname = 'claseCSS';

Espero sirva saludos.
__________________
http://www.latinium.com.ar/
  #5 (permalink)  
Antiguo 08/06/2012, 12:08
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Agregar clase a tbody

@elgoncho99
Te recuerdo que javascript es "case sensitive", y el nombre de la propiedad es
className
y no
classname
Por supuesto podemos usar classname si lo interpretamos como una variable

ejemplo
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <style type="text/css">
  7. /*<![CDATA[*/
  8. .rojo{
  9. color: red;
  10. }
  11. /*]]>*/
  12. <script type="text/javascript">
  13. //<![CDATA[
  14. function crear_Capa(){
  15. var capa = document.createElement( 'div' );
  16. capa.innerHTML = "texto";
  17. capa.className = "rojo";
  18. capa.setAttribute('title', 'div con texto rojo');
  19. document.body.appendChild(capa);
  20. }
  21. window.onload = crear_Capa;
  22. //]]>
  23. </head>
  24. </body>
  25. </html>


SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #6 (permalink)  
Antiguo 11/06/2012, 19:08
 
Fecha de Ingreso: junio-2012
Mensajes: 3
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Agregar clase a tbody

Muchas gracias a ambos, a la final use la forma objHTML.classname = 'claseCSS';

Saludos

Etiquetas: clase, tbody
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:00.