2013-02-17 7 views
0

Comment puis-je obtenir la valeur href à partir d'un lien qui est chargé avec $ .get? Mon script utilise toujours la valeur qui était dans le div, pas la valeur qui a été chargée par la suite.jQuery charger des informations à partir d'éléments dans différents éléments

Le code:

<html> 
<body> 
<div id="wrapper"> 
    <div id="more"> 
    content 
    </div> 
    <div class="paglink"> 
    <a href="/the/url/to/page/1">More</a> 
    </div> 
</div> 
<script> 
jQuery(document).ready(function($) { 

    $(".paglink a").click(function(e) { 
      e.preventDefault(); 
      $.get($(".paglink a").attr('href'), function(data){ 
      $(data).find("#more").appendTo("#more"); 
      $(".paglink").html($(data).find(".paglink").html()); 
      });  
    }); 

}); 
</script> 
</body> 
</html> 

page qui est chargé:

<html> 
<body> 
<div id="wrapper"> 
    <div id="more"> 
    content 
    </div> 
    <div class="paglink"> 
    <a href="/the/url/to/page/2">More</a> 
    </div> 
</div> 
</body> 
</html> 

En bref: qu'est-ce que je dois écrire au lieu de

$(".paglink a").attr('href') 

pour obtenir la valeur de la lien fraîchement chargé?

+0

Quand utilisez-vous '$ .fn.eepager'? 'options.link' ==' defaults.link' et de ce que nous pouvons voir vous ne mettez jamais à jour non plus. – Popnoodles

+0

'var link = $ (données) .find (". Paglink_extern "). Attr ('href')' dans le gestionnaire complet de la fonction ajax. – adeneo

+0

Tout d'abord vous avez une virgule supplémentaire dans vos valeurs par défaut. et en second lieu pouvez-vous coller votre code HTML !! –

Répondre

0

Semble cette façon, les nouveaux éléments ont aucun événement de clic attaché à eux parce que vous attachez probablement sur document.ready() ..

jQuery a que vous dynamiquement des éléments chargement pour votre code html, un « sur » API que vous pourriez utiliser pour attacher des événements de clic aux éléments DOM chargés dynamiquement.

Essayez ce code

$(".paglink").on('click' , 'a', function(e) { 
      e.preventDefault(); 
      $.get($(this).attr('href'), function(data){ 
       alert(data); 
      $(data).find("#more").appendTo("#more"); 
      $(".paglink").html($(data).find(".paglink").html()); 
      }); 
}); 

Ce code est coorect

$(data).find("#more").appendTo("#more"); 

Vous prenez seulement le contenu html qui appartient à #more élément

Additional information

Questions connexes