Comunidad de diseño web y desarrollo en internet online

Hacer referencia a un objeto hermano

Citar            
MensajeEscrito el 25 Feb 2010 12:18 am
Hola señores quisiera que me ayudaran con este problema...

teniendo la sig estructura

Código HTML :

<div>

<div>
<input  type="button" name="button" value="Enviar" onclick="funcion(this);" /> 
</div>

<div>
texto oculto
</div>

</div>


como puedo referirme al div que contiene el el texto oculto para modificar sus parametros desde la funcion del boton de su objeto hermano.

esto necesito hacerlo sin tener que asignarle un id a ninguno de los objetos...
es decir desde la funcion del boton llegar al padre y luego al hermano...

espero se entienda ya que no se mucho del tema...

Gracias...

Por asdmaster

14 de clabLevel



 

chrome
Citar            
MensajeEscrito el 25 Feb 2010 05:24 pm

Código Javascript :

function funcion(id) {
  var pn = id.parentNode.parentNode.childNodes[3];
  pn.style.backgroundColor="blue";
}

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 26 Feb 2010 01:20 am
Gracias DriverOp funciona muy bien en FF pero no sirve para IE ya que toma como hermano al array [1];

Por asdmaster

14 de clabLevel



 

chrome
Citar            
MensajeEscrito el 26 Feb 2010 02:47 am
Y también funciona en Opera puesto que allí lo probé antes de postear acá. Respecto a IE te diré que habría que agarrar a todos los programadores de Redmond y darles mil latigazos con un alambre de púas. Pero lamentablemente eso no solucionaría tu problema.

No tengo ni pálida idea de cómo hacer para que funcione en todos los navegadores salvo que sniffees el navegador y le mandes un código a unos y a otros otro.

Por ahí leí que existe la propiedad nextSibling el cual es un puntero al siguiente nodo hermano del nodo actual pero Opera me dice que tal propiedad no existe así que no sé de dónde la sacaron (¿o yo no sé cómo se usa?).

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 02 Mar 2010 04:04 pm
usando jquery seria algo como

Código :

$(this).parent().next();


Y eso deberia funcionar crossbrowser

Por Prozac

SWAT Team

1546 de clabLevel

1 tutorial

Genero:Masculino   SWAT

donde se regresa el viento

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.