$(document).ready(function() {

$('#ajax').live('click', function (e){
e.preventDefault();
$.get($(this).attr('href'), {}, function(data){
$('.beforeIns').empty().append(data);
});
return false;
});

$('#prec').live('click', function (e){
e.preventDefault();
$.get($(this).attr('href'), {}, function(data){
$('.beforeIns').empty().append(data);
});
return false;
});

});

dans ce code que j'ai tapez le premier sélecteur $('#ajax') marche très bien mais le 2 ème $('#prec') ne marche pas quelqu'un peut me dire ou est le problème merci

5 réponses


painkillerDev
Réponse acceptée

Bonjour , je te propose à la place .get() de faire ca

var href = $(this).attr('href'); // variable href pour parcourir le lien

          $('#contenu').animate({opacity:0.2}).load(href + ' #contenu', function() { 
            $('#contenu').fadeTo('slow','1');
          });
// #contenu est votre div ou il y'a ton contenu

Bon courage

Tout d'abord bonjour,
Ensuite pourrait tu te servir des balises code pour y mettre ton code? on y verra plus clair
Et pour finit peux tu nous en dire plus sur l'effet voulu , sur ce qui se passe ou qui ne se passe pas et nous montrer aussi le reste de ton code.
Admettons que ton élément avec l'id prec est une faute ou qu'en fait ce soit une class etc... on ne peut pas le deviner.

Désolé j'ai mis le code sans détail bon j'explique j'ai une div est un lien.

<a href="" id="ajax">

quand je clique sur se lien le contenu de la div suivante change

<div class="beforeIns"></div>

en mettant le contenu d'une autre page dans cette div.

Mon problème c'est que le premier sélecteur fonctionne et le second non j'ai vérifier les class et les id ils sont juste comment faire

Quelle est ta version de jquery ?
la méthode live est dépréciée depuis la 1.7 => .live()
la méthode .on() est préférée

Pourquoi ne pas utiliser .load() pour charger le contenu plutôt que .get() ?

Bonjour,
Si la donnée chargé est du html, utilise plutot html()

$('.beforeIns').html(data);

Si c'est du text, utilise text()

$('.beforeIns').text(data);