Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/06/2012, 10:20
JaCk0
 
Fecha de Ingreso: mayo-2011
Mensajes: 12
Antigüedad: 13 años, 7 meses
Puntos: 0
Problema al seleccionar un padre con jQuery.ajax

Muy buenas, estoy realizando una web que tiene como característica un enlace vía ajax que devuelve del servidor un HTML que debe reemplazar al contenedor padre de ese enlace ajax. El problema es que en el método complete no consigo acceder al contenedor padre (o al menos, averiguar el ID del selector que dispara el ajax). El código jquery es el siguiente:

Código Javascript:
Ver original
  1. $('body').on('click','#yt3',function(){
  2.      jQuery.ajax({
  3.           'complete':function(data){
  4.                console.log($(this));
  5.                console.log($(this).closest("div.publicacion-footer"));
  6.                $(this).closest("div.publicacion-footer").replaceWith(data);
  7.      })
  8. });

Y el HTML es el siguiente:
Código HTML:
Ver original
  1. <div class="publicacion-footer">
  2.     <div class="publicacion-footer-derecha">
  3.         <button>xxx</button>
  4.         <button>yyy</button>
  5.     </div>
  6.     <div class="publicacion-footer-izquierda">
  7.         <button name="yt3" type="button" id="yt3">zzzz</button>
  8.     </div>
  9. </div>

Bien, use console.log de $(this) y $(this).closest("div.publicacion-footer") para ver si me devolvían algo, el segundo no devuelve nada y el primero devuelve un objeto con la siguiente información:
Código Javascript:
Ver original
  1. accepts: Object
  2. async: true
  3. cache: false
  4. complete: function (data){ console.log($(this)); console.log($(this).closest("div.publicacion-footer")); $(this).closest("div.publicacion-footer").replaceWith(data); }
  5. contentType: "application/x-www-form-urlencoded"
  6. contents: Object
  7. converters: Object
  8. crossDomain: false
  9. dataTypes: Array[2]
  10. flatOptions: Object
  11. global: true
  12. hasContent: false
  13. isLocal: false
  14. jsonp: "callback"
  15. jsonpCallback: function () {
  16. processData: true
  17. responseFields: Object
  18. type: "GET"
  19. url: "/cod/index.php/publicaciones/favorito/2?_=1340812969363"
  20. xhr: function createStandardXHR() {
  21. __proto__: Object

Me gustaría saber si a través del objeto $(this) puedo acceder al padre con clase "publicacion-footer", o sí hay alguna manera a través de jQuery de acceder, estuve leyendo la documentación de jQuery.ajax pero no he conseguido averiguar nada en claro. Espero que alguien pueda darme algún atisbo de luz a este problema.

Gracias :)