Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] innerHTML desde otro archivo HTML

Estas en el tema de innerHTML desde otro archivo HTML en el foro de Javascript en Foros del Web. Hola foreros web: Estoy realizando una web para un proyecto final de un curso. Tengo un archivo index.html que contiene un div con id=content Ese ...
  #1 (permalink)  
Antiguo 05/03/2013, 03:44
 
Fecha de Ingreso: mayo-2011
Ubicación: Palma de Mallorca
Mensajes: 108
Antigüedad: 13 años
Puntos: 4
Pregunta innerHTML desde otro archivo HTML

Hola foreros web:

Estoy realizando una web para un proyecto final de un curso. Tengo un archivo index.html que contiene un div con id=content

Ese div cambiará de contenido según la opción del menú que pulsemos con la función de innerHTML de JS.

He visto que se puede usar de esta manera:

document.getElementById(‘content’).innerHTML=idCap a1

El problema es que tengo unas 40 capas de contenido aprox., por lo tanto, la carga de la web podría llegar a ser muy lenta.

Se me ocurrió hacer un archivo html aparte, en este caso lo llamaremos divs.html, donde guardar todos esos divs de contenido.

Mi duda es la siguiente: ¿se puede llamar a divs del archivo divs.html para cargarlos en el div content de index.html mediante el innerHTML? ¿Es posible que ya haya una librería jQuery que pueda realizar eso? Y si la hay,¿como se llama?

Muchas gracias por su atención.
  #2 (permalink)  
Antiguo 05/03/2013, 04:56
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: innerHTML desde otro archivo HTML

Hola:

Lo que quieres se parece mucho a AJAX. Desde jQuery lo forma de hacerlo es $().load(), que es la función "sencilla" de jQuery para hacer un AJAX y reemplazar el contenido de un div (u otro elemento) con lo que lee del servidor (tu div.html)

Si en tu div.html hay varios div e identificas cada uno con un id, puedes hacer esto

$("#content").load("divs.html #unIdDentroDeDivHtml");

fíjate que hay un espacio entre divs.html y #unIdDentroDeDivHtml http://api.jquery.com/load/

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 05/03/2013, 05:31
 
Fecha de Ingreso: mayo-2011
Ubicación: Palma de Mallorca
Mensajes: 108
Antigüedad: 13 años
Puntos: 4
Respuesta: innerHTML desde otro archivo HTML

Hola chiudiang:

Supongo que en el método load() cuando ponemos el archivo divs.html se referirá a la ruta relativa del archivo, en caso de que no se encuentre en el mismo directorio no?
  #4 (permalink)  
Antiguo 05/03/2013, 05:51
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: innerHTML desde otro archivo HTML

Por supuesto :)
__________________
Apuntes Java
Wiki de Programación
  #5 (permalink)  
Antiguo 05/03/2013, 06:39
 
Fecha de Ingreso: mayo-2011
Ubicación: Palma de Mallorca
Mensajes: 108
Antigüedad: 13 años
Puntos: 4
Respuesta: innerHTML desde otro archivo HTML

Muchas gracias por tu ayuda chuidiang pero estoy aplicando lo que me dijiste y no obtengo ningún resultado.

¿Te ayudaria mas que pusiera el código que tengo puesto para que te oriente mejor?
  #6 (permalink)  
Antiguo 05/03/2013, 10:05
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 3 meses
Puntos: 36
Respuesta: innerHTML desde otro archivo HTML

Hola tonigomila1988, como te lo puso chuidiang deberia de funcionarte, tal vez estes teniendo problemas con tu selector, claro que puedes pegar tu codigo asi te podemos ayudar mejor
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.
  #7 (permalink)  
Antiguo 06/03/2013, 02:50
 
Fecha de Ingreso: mayo-2011
Ubicación: Palma de Mallorca
Mensajes: 108
Antigüedad: 13 años
Puntos: 4
Respuesta: innerHTML desde otro archivo HTML

Vale, he descubierto mi problema y es que no estoy consiguiendo que mi archivo js no enlaza bien con mi archivo HTML y por eso no da resultado.

No se si me falta alguna cosa pero dejo aquí lo que tengo puesto a ver si me falta algo.

Código HTML:
Ver original
  1. <script type="text/javascript" src="scripts/myScripts.js"></script>

Código HTML:
Ver original
  1. <div class="outListMenu"
  2.                onclick="loadContent();"
  3.                onMouseOver="this.className='overListMenu'"
  4.                onMouseOut="this.className='outListMenu'">
  5.                     <li>Explicación Básica</li>

Código Javascript:
Ver original
  1. $(document).ready();
  2. function loadContent()
  3. {
  4.     $('#content').load('../contents.html #div1');
  5. }

Muchas gracias por atenderme :)
  #8 (permalink)  
Antiguo 06/03/2013, 05:41
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: innerHTML desde otro archivo HTML

Hola:

¿Te está funcionando o no?

Si no está funcionando, no tengo claro el onclick, no sé si al hacer click en el <li> (que es lo que realmente se ve), este click se propaga al <div> superior. Si no es así, va a ser dificil que hagas click en el div sin tocar el li. Quizás debas poner el onclick en el <li>.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #9 (permalink)  
Antiguo 06/03/2013, 06:54
 
Fecha de Ingreso: mayo-2011
Ubicación: Palma de Mallorca
Mensajes: 108
Antigüedad: 13 años
Puntos: 4
Respuesta: innerHTML desde otro archivo HTML

Indague un poco por los foros de aquí y encontré esta solución:

http://www.forosdelweb.com/f179/funcion-load-jquery-no-funciona-824180/

La adapte a mi problema y aún asi sigue sin funcionar.
  #10 (permalink)  
Antiguo 06/03/2013, 07:05
 
Fecha de Ingreso: mayo-2011
Ubicación: Palma de Mallorca
Mensajes: 108
Antigüedad: 13 años
Puntos: 4
Respuesta: innerHTML desde otro archivo HTML

Ahora mi código lo tengo asi:

Código HTML:
Ver original
  1. <li><a href="#div1">Explicación Básica</a></li>

Código Javascript:
Ver original
  1. $(document).ready(
  2.                 function()
  3.                 {
  4.                     $('#mainMenu li a').click(
  5.                         function()
  6.                         {
  7.                             var capa=$(this).attr('href');
  8.                             var url= 'contents.html';
  9.                             $('#content').load(url capa);
  10.                             return false;
  11.                         }
  12.                     );
  13.                 }
  14.             );
  #11 (permalink)  
Antiguo 06/03/2013, 07:20
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: innerHTML desde otro archivo HTML

Hola:

Esto load(url capa) ... ¿lo tienes exactamente así?. Es complejo hacer nada en AJAX sin saber los fundamentos de javascript. Si quieres concatenar dos String debes sumarlos con +. Además, debes dejar el espacio

load (url + " " + capa)

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #12 (permalink)  
Antiguo 12/03/2013, 01:55
 
Fecha de Ingreso: mayo-2011
Ubicación: Palma de Mallorca
Mensajes: 108
Antigüedad: 13 años
Puntos: 4
Respuesta: innerHTML desde otro archivo HTML

Vale, el problema de que no me funcionara era que tenia que subir mi proyecto a un hosting y alli la función load si funciona. Marco el tema como solucionado. Muchas gracias por atenderme estos dias.

Etiquetas: html, innerhtml, jquery, js
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:32.