Comunidad de diseño web y desarrollo en internet online

jquery + getElementById + currentlink.parent()

Citar            
MensajeEscrito el 16 Dic 2011 08:49 pm
Buenas buenas! Cómo andan?
Estuve buscando por el foro, pero no dí con la resolución a mi consulta..
Resulta que quiero referirme al id mas cercano, pero no logro hacerlo funcionar. Lo que me ocurre con getElementById es que me busca todos los id con ese mismo nombre en todo el documento. Y lo que quiero hacer es referenciar al id mas cercano que haya en su parent .
Probé usar document.getElementById(currentlink.parent().find('#mas')); pero no funciona.

Código ActionScript :

var cont = document.getElementById("mas");
cont.innerHTML = "<span style='estilo'>Texto</span>";


Desde ya muchas gracias!!

Por juanofranco

25 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 16 Dic 2011 10:50 pm
Man solo para iniciar, no debes de tener más de un elemento con un Id, es decir no debes de tener dos elementos con el mismo Id pq se generan este tipo de conflictos, cambia esos Id pos class a cada elementos que quieras identificar como "mas" establece un class="mas"

Algo q no entiendo es el "mas" mas cercano a que???? a un boton a un div a un texto??

Por NeoCesar

Claber

1415 de clabLevel

14 tutoriales

Genero:Masculino  

Algun lugar dentro de la Matrix (Lima - Perú)

chrome
Citar            
MensajeEscrito el 16 Dic 2011 11:53 pm
Neo, la idea es que busque hacia afuera del div en cuestion ya sea nodo padre etc el id con ese nombre. Porque al ser dinamico el div, voy a tener en cada li un div con esa id. Entonces es un comportamiento que necesito se cumpla en cada li independientemente del otro.
Por ejemplo si hago clik en un div q esta dentro de un li con el id=mas, usando currentlink.parent().find(li) me afecta solo el li que contiene a ese div.
Bueno, ese mismo comportamiento lo quiero usar para pegar un contenido html dentro de una etiqueta. Se me ocurriO usar getElementById, pero no se si es el indicado.

Por juanofranco

25 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 17 Dic 2011 01:33 pm
Repito lo que ha dicho NeoCesar. No debes tener dos o más elementos con el mismo id sin importar en qué lugar estén. El método getElementById() solo encontrará el primero a partir del inicio del documento e ignorará los otros.

Además find() de JQuery regresa un objeto JQuery y el parámetro de getElementById() espera un string.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 17 Dic 2011 03:23 pm
Perfecto DriverOp, gracias.
Entonces como hago para referenciar a un elemento padre y a su vez poder incrustarle texto?

cont = currentlink.parent().find('h5'));
cont.innerHTML = "<span style='estilo'>Texto</span>";

Esto no me funciona..

Por juanofranco

25 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 18 Dic 2011 02:55 am
Como he dicho, find() de JQuery devuelve un objeto JQuery. En el código que has puesto, cont es un objeto JQuery por lo tanto le puedes aplicar los métodos de JQuery. El equivalente a .innerHTML del DOM en JQuery es el método .html(). Entonces lo que deberías hacer es:

Código :

cont.html("<span style='estilo'>Texto</span>");

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 18 Dic 2011 03:18 am
Excelente!! Lo pruebo y comento!!
Gracias!

Por juanofranco

25 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 19 Dic 2011 05:04 pm
Funcionó! Muchas gracias por vuestra ayuda!
Saludos!

Por juanofranco

25 de clabLevel



Genero:Masculino  

firefox

 

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