Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/08/2010, 00:53
georvaldo
 
Fecha de Ingreso: diciembre-2008
Mensajes: 2
Antigüedad: 15 años, 11 meses
Puntos: 0
$.ajax JQuery obtener elemento según ID

Hola comunidad.
Me veo en la obligación de crear un sitio web dinámico usando JQuery. Pero tengo un problema al realizar cargas AJAX:

Si usamos la función $.load anda perfecto, es fácil y funciona bien. El problema surge al intentar cargar un contenido con ID específico, ya que no carga los scripts contenidos. Todo funciona bien si cargamos el sitio completo:
Código:
$('#idDiv').load("index2.html");
de esta forma carga los scripts y todo correctamente, pero al realizar la consulta asignando la ID específica del sitio a cargar:
Código:
$('#idDiv').load("index2.html #idDiv");
este no carga los scripts.

He intentado usar $.ajax(). Pero el resultado es el mismo, además con esta función no puedo cargar un div con ID específica o no se como hacerlo.

Se me ocurre lo siguiente:
Si usamos $.ajax() de JQuery e indicamos la URL a cargar, usamos success para indicar el comportamiento que realizará la operación:

Código:
$.ajax(
{    url: "index2.html",
      success: function(data){
          $('#idDiv').html(data);
      }
});
De esta forma cargamos el sitio completo en #idDiv al igual que $.load() sin indicar #id. Donde los script funcionan correctamente, pero no hemos podido elegir un #id o .class específico.
Pero según me he podido percatar, la variable "data" que retorna la función es un string o cadena que contiene la estructura del sitio de destino, y se me ocurre poder extraer el #id desde esa variable resultante.
He tratado de pasar la variable data a Element, sin resultado.
Estoy casi seguro de que así funcionaría, si es que no hay otra forma mas óptima de hacerlo.
El punto es como hacer una especie de getElementByID(); para esa variable de tipo String, o si es posible transformarla y hacer el proceso de extracción y luego volverla a String o dejarla tal cual para cargarla al sitio Nº 1.

Sé que este problema se evita si desde el sitio Nº 1 cargamos todos los JavaScript, pero hay veces en donde no es posible, como por ejemplo al usar ReCaptcha, donde su API entrega el JavaScript y no quero manipular el código fuente.

Espero alguien con mas experiencia tenga la solución.
Saludos.