tengo una tabla con muchas filas y muchas columnas
y tengo un grupo de 10 td que tienen el mismo id, de que manera podria colorear todos los td que tengan el id=1 ?
desde ya muchas gracias y
| ||||
Hola, dieguicho. No se si habrá otra forma, pero puedes poner un id a la tabla (id='tabla') y usar este código: Código PHP: |
| ||||
excelente! si funciona ahora bien, ultima preguntita complementaria. hay alguna manera de saber el id de un objeto pongo un pseudo ejemplo para que me entiendas mejor. <input type="button" id="1" value="boton" onClick="Javascript:algunafuncion(esteobjeto.id)"> se entiende no? gracias!!
__________________ On error no hago nada porque deje de fumar... Última edición por dieguicho; 18/02/2004 a las 09:10 |
| ||||
Hola dieguicho: Me parece que haces mal poniendo el mismo id en distintos elementos, ya que no es recomendable y puede generar errores... Puedes crearte cualquier atributo y dejar que el id tenga su función propia. Así como usas id puedes usar identificador, y para la referencia puedes usar this.id (o this.identificador) alert(this.id)... Otra forma para leer atributos es getAttribute, o attribute["id"] (attribute es la colección de atributos)... y para dar valores a atributos puedes usar setAttribute(elNombre, elValor). Por último, el array de atributos (attribute) se trata de objetos con dos elementos name y value, y puedes obtener todos los nombres y valores de los atributos de cualquier etiqueta recorriéndolos con un bucle ya que attributes tiene su propiedad length, y se pueden referenciar por su índice numérico. Saludos |
| ||||
con id me funcionó pero si decis que puede dar errores que me recomendas? te cuento que quiero hacer es una tabla de 10 columnas por 10 filas quiero que al clickear determinada celda se coloreen varias otras mas, todas las que corresponden a un mismo "cliente" por eso se me ocurrio ponerle a todas las celdas que corresponden al mismo cliente el mismo id veo que sugeris que en vez de hacer td id="1" haga td identificador="1" y no tendre problemas? muchas gracias, con esto aprendo barbaridad
__________________ On error no hago nada porque deje de fumar... |
| ||||
Hola otra vez: Lo de los errores tal vez no lo note nadie, pero supongo que si intentas validar tu código con el validador de w3.org (o cualquier otro) te lo señalaría (podrías probar...¿?) Todas las celdas (y todas las etiquetas) en los navegadores modernos (*) se tratan como objetos... y como tales, eres libre de agregarle el atributo que quieras (siempre que sea sintácticamente aceptable y no se repitan... )... ... particularmente me despreocupo de los navegadores muy antiguos porque son muy pocos los que pueden seguir usándolos. Si tienes problemas para adaptarlo no dudes en volver a consultar... además, si con el id te iba bien, eres libre de seguir usándolo (aunque te lo reprochen) Saludetes |
| ||||
ya que lo hacemos lo hacemos lo mejor posible no? probe poniendole miatributo="1" a todas las celdas que quiero colorear y tambien funciona perfecto igual que si le dejaba id="1" probare con el validador a ver que me dice, de todos modos tampoco me preocupo por los navegadores viejos, porque es para una red interna y todos los navegadores son iguales ;) muchas gracias y hasta la proxima pregunta!
__________________ On error no hago nada porque deje de fumar... |
| ||||
Cita: Para mi forma de pensar es lo mejor que se puede hacer... Espero no haberte orientado mal ya que lo hacemos lo hacemos lo mejor posible no? Tal vez el validador encuentre un fallo en el atributo inventado... (espero que no) Saludos |
| ||||
me pintó otro problema, crei que podria hacerlo yo solo pero fracasé jejej. como te habia comentado son como varios "grupos" de td con el mismo identificador. de que manera podria hacer que al clickear un td pinte todo los de su grupo (esto ya esta) pero a la vez, si ya hay algun grupo pintado volverlo a su estado anterior? ya incursioné en aplicarle estilos en vez de pintarle el fondo if (celdas[i].className == "marcado") celdas[i].className = "regular"; esto lo puse antes de... if (celdas[i].identificador==variable) celdas[i].className = "marcado"; pero me da error de que celdas[...] no existe. salu2!!
__________________ On error no hago nada porque deje de fumar... |
| ||||
Hola otra vez: Vas bien encaminado... function marcar(actual) { var celdas=document.getElementById('tabla').getElement sByTagName('td'); for (i=0;i<celdas.length;i++) celdas[i].className = "regular"; for (i=0;i<celdas.length;i++) if (celdas[i].identificador == actual) celdas[i].className = "marcado"; } La idea es hacer un bucle for para la limpieza, y luego otro bucle para marcar. El error es posible que sea de otra cosa, tal vez haya alguna celda sin "identificador"... Si tienes algún enlace para verlo, dilo. Saludos |
| ||||
aaahjaaaa esto funciona esplendidamente pero el problema es que cuando hace el bucle para limpiar limpia toooda la tabla, la idea seria que limpie solo los td que tienen aplicado el primer estilo creo que seria como poner una condicion mas a getElementsByTagName('td'); osea todos los td que ademas tienen aplicado el estilo "marcado" ya casiiiii mil gracias caricatos..
__________________ On error no hago nada porque deje de fumar... |
| ||||
hola a todos, logre hacer lo que queria.... muy feliz, pero tengo un problemita pequeño. revisen esta url para poder ver de que les hablo www.fiestasinolvidables.com/reservas.htm ahi veran unos cuadros y podran seleccionarlos. el tema es que cuando hay una "reserva" en el medio, deberia marcarse como dayEnd el ultimo dia "libre" y no sucede, sino que lo pasa por alto y si bien no marca los demas dias no logro hacer que se setee dayEnd cualquier duda estoy x aca, gratzie!!!
__________________ On error no hago nada porque deje de fumar... Última edición por dieguicho; 21/02/2004 a las 16:30 |
| ||||
Hola dieguicho: Creo que cuando encuentras el "ocupado" antes de hacer el return, tendrías que actualizar la variable dayEnd y llamar a la función writeDays()... Es que al salir del bucle con return también sales de la función, y lo que quedara pendiente no se hace. Espero que sea eso lo que necesitas. Saludetes |
| ||||
excelente. todo esta saliendo muuuy bien, era eso nomas. si se les ocurre algo para cambiarlo, diganme, aunque funciona bien... voy a festejar ahora jejee gracias a todos!!
__________________ On error no hago nada porque deje de fumar... |