Estoy queriendo terminar una página web con html,css y javascript.
Pero tengo este problema.
Tengo una función que se llama mostrar_precio que recibe un argumento que es un elemento y otro argumento que es el precio a insertar.
Yo paso "this" a la función esperando poder acceder al hijo de texto del hermano siguiente de su padre (elemento.parentElement.nextSibling.childNodes[1].innerHTML = precio;),pero no lo consigo.
La consola web de firefox me indicó la anterior instrucción "undefined".
Acá les paso el código y por favor explíquenme ¿por qué undefined?
Código HTML:
Acá está el pequeñísimo código javascript:Ver original
<div> <div> <img src="../img/sublineas/ojos/sombra-individual.jpg"><span>SOMBRAS COMPACTAS INDIVIDUALES.<br />Sombras para ojos de gran cobertura, aterciopeladas y con excelente deslizamiento. Su textura sedosa facilita la aplicación perfecta del color. Con ingredientes de polvo altamente micronizados que garantizan un maquillaje duradero. Pueden combinarse con otros tonos para crear múltiples combinaciones de color y diferentes looks de tendencia. Contienen vitamina E y filtro solar.</span> </div> <div> </div> <div> </div> <div> <img src="../img/sublineas/ojos/sombra-duo.jpg"><span>Sombras compactas dúo.<br />La combinación perfecta de dos colores para lograr una mirada cautivante. Su textura sedosa permite un trabajo preciso de los colores y el aplicador de punta aterciopelada difumina perfectamente la sombra. Para lograr el efecto deseado, primero se recomienda aplicar el tono más claro sobre el párpado, y luego, difuminar el tono más oscuro en el pliegue del ojo.</span> </div> <div> </div> <div> </div> <div> <img src="../img/sublineas/ojos/mascaras.jpg"><span>Máscaras de pestañas.<br />Tres colores armónicamente combinados para lograr un look sofisticado. Su textura sedosa permite un trabajo preciso de los colores y el aplicador de punta aterciopelada difumina perfectamente la sombra. Para lograr el efecto deseado, primero se recomienda aplicar el tono más claro sobre el párpado y difuminarlo con el tono medio hacia el costado exterior; luego, lograr profundidad aplicando el tono más oscuro en el pliegue del ojo.</span> </div> <div> </div> <div> </div> <div> <img src="../img/sublineas/ojos/delineadores.jpg"><span>Delineadores de ojos.<br />Fórmulas excepcionales para lograr pestañas más fuertes, sanas y visiblemente más largas. Cero grumos. Contienen pigmentos naturales y fibras de seda que aumentan el volumen de las pestañas. Sus pinceles están especialmente diseñados para generar una definición de alto impacto. Variedad de tonos.</span> </div> <div> <img src="../img/COL154700D.jpg" onmouseover="javascript:documentElement.nextSibling.childNodes[1].innerHTML='59,90';"> <img src="../img/COL154800D.jpg" onmouseover="mostrar_precio(this,'23,90')"><img src="../img/COL152500D.jpg" onmouseover="mostrar_precio(this,'59,90')"><img src="../img/COL153000D.jpg" onmouseover="mostrar_precio(this,'34,90')"> </div> <div> </div> </div> </div> </body> </html>
Código Javascript:
Ver original
function mostrar_precio(elemento,precio) { elemento.parentNode.nextSibling.childNodes[1].innerHTML = precio; }
Les agradezco.