Buenas, tengo una duda de principiante.
Tengo que mostrar un listado de datos aplicándole un efecto y mi código es el siguiente:
<a href="javascript:void(0);" onMouseOver="return presentacion('J.R.R. Tolkien', 'El hobbit');" onMouseOut="return volver();">El hobbit</a><br>
Pero con este sistema tengo que hacer un listado a mano, y para hacerlo dinámico pensaba haberlo hecho con un array de dos dimensiones.
El array funciona perfecto pero para presentar la información la meto dentro de un bucle en el que meto el código precendente en un document.write("")
El problema es que para ello tengo que encerrar el código entre comillas y claro, como ya tiene comillas el código original, me da errores.
Quedaría:
document.write("<a href='javascript:void(0);' onMouseOver='return presentacion("+libros[$i][0]+", "+libros[$i][1]+");' onMouseOut='return volver();'>"+libros[$i][0]+"</a><br>")
El texto que presento como enlace se presenta sin problemas, como os podéis imaginar el problema viene dado por el código que está dentro de la funcion "presentacion" porque en principio tendría que ir con comillas simples, pero claro, no funciona porque ya hay comillas simples para marcar el onMouseOver.
Es decir, pongo comillas (") para definir la cadena completa (el document.write), entonces ya no puedo poner comillas dobles para definir el onmouseover, y por eso lo defino con comillas simples ('), pero al hacerlo ya me quedo sin otro tipo de comillas para definir el texto que envío a la función presentación.
Las soluciones que veo son: o hay algún otro tipo de entrecomillado que pueda usar dentro de comillas simples (') o hago algún truco para no entrecomillar alguno de estos niveles.
Pero después de muchas pruebas estoy perdido y no sé cómo desatascar el problema.
Quizá la solución sea mucho más sencilla y no la vea aunque la tenga delante de las narices por eso os pido ayuda.
Os agradezco de antemano vuestra paciencia.
¿A alguien se le ocurre alguna solución?
Un saludo.