Récupérer le texte de l'ancre

Résolu/Fermé
flam - 5 janv. 2015 à 14:18
 flam - 6 janv. 2015 à 11:38
Bonjour,


Tellement simple que je n'y arrive pas...

J'ai une galerie CSS qui se compose ainsi : j'ai 3 divs, en float left.
A gauche, les miniatures.
 <li class="galerie_liste"> <a href="#im1"> <img src="img/miniatures/img1.jpg" alt=""  /></a> </li>


AU milieu, l'image correspondante.
<div id="full_picture_ext">
<div > <a name="im1"> </a> <img src="img/big/img1.jpg" alt="" /></div>


A droite le descriptif de chaque img.
<div id="descriptif">
<div> <a name="im1"> Descriptif de la 1 photo </a>
</div>



<script type="text/javascript">
$(document).ready(function()
{ $('.galerie_liste a').each(function()
{// var mini = $(this).attr('href'); // OK
var ancre_descriptif = $("#descriptif div a").attr('name'); // OK
var descriptif = $('ancre_descriptif').text();
$(this).click(function() { alert(descriptif);});
});

});
</script>


alert(descriptif) ne retourne rien, ou selon les modifs que je fais, "undefined" ou "object object".
Merci d'avance pour votre aide.

2 réponses

jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717
5 janv. 2015 à 14:52
Bonjour,

Plutôt que de mettre un ALERT .. le temps de tes tests.. utilises plutôt un CONSOLE.LOG ( bien entendu.. active les outils de debogage de ton navigateur internet .... pour ma part j'utilise le plugin FireBug pour Firefox).

Quand ton alert t'affiche "object object" .. c'est qu'il à bien trouvé quelque chose.. mais sous forme d' Objet... il ne peut pas le convertir en "text" pour te l'afficher directement. (c'est pour ça qu'avec la Console.. tu pourras voir de quoi il s'agit).



0
Bonjour jordane45,

Merci pour ta réponse.
Voila ce que j'obtiens pour [object object] avec console.log(descriptif); :

[prevObject: x.fn.x.init[1], context: document, selector: "ancre_descriptif p", jquery: "1.10.2", constructor: function...] // Selector ancre_descriptif > p

ce qui équivaut à

var ancre_descriptif = $("#descriptif div a").attr('name');
var descriptif = $('ancre_descriptif > p');

_______________________________________________________________
En faisant

var descriptif = $('ancre_descriptif').text();
ou
var descriptif = $('ancre_descriptif').val();

et en enlevant mes <p> ou pas,
j'obtiens toujours undefined ou rien.

Merci et merci d'avance pour la suite
0
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717
5 janv. 2015 à 16:04
Testes ceci :

 <li class="galerie_liste"><a href="#im1"> <img src="images/1.png" alt=""  /></a> </li>
 <li class="galerie_liste"> <a href="#im2"> <img src="images/3.png" alt=""  /></a> </li>
 <div id="full_picture_ext">
    <div > <a name="im1"><img src="images/2.png" alt=""  /></a></div> 
    <div > <a name="im2"><img src="images/4.png" alt=""  /></a></div> 
</div>
<div id="descriptif">
<div> <a  id="im1">  Descriptif de la 1 photo  </a></div>
<div> <a  id="im2">  Descriptif de la 2 photo  </a></div>
</div>

<script type="text/javascript"> 
$(document).ready(function() {   
$('.galerie_liste a').click(function(){ 
    var cible_href = $(this).attr('href') // OK
     console.log(cible_href); 
	  var descriptif = $(cible_href).text();
    console.log(descriptif);
    alert(descriptif);
  });
    
});
</script>
0
flam > jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024
5 janv. 2015 à 17:34
Merci pour ta réponse. Je ne sais pas si ça marche chez toi, mais de mon côté même en retournant tout ça dans 1000 sens, je 'arrive à rien...
0
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717 > flam
5 janv. 2015 à 17:41
Je ne sais pas si ça marche chez toi,

Oui... testé et éprouvé... cela fonctionne très bien chez moi.
Je clique sur le premier LIEN.. j'ai le descriptif de la première image...
Je clique sur le second LIEN.. j'ai le descriptif de la seconde image...

mais de mon côté même en retournant tout ça dans 1000 sens, je 'arrive à rien...

Tu utilises quel navigateur ?
Tu utilises les outils de debogage ? tu obtiens quoi ?
0
1) Et bien,RIEN, vides,

2) je ne sais pas si c'est un problème de wamp ou de mon éditeur de texte ou de chrome (console livrée avec :), mais en redémarrant tout ça, ça fonctionne... Va savoir...
Avec mes remerciements pour ta patience et pour ton aide.
0
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717 > flam
5 janv. 2015 à 18:05
mais en redémarrant tout ça, ça fonctionne... Va savoir...

Moi je dirais.. le cache de ton navigateur internet....
Le mieux.. quand tu rafraichis ta page.. est d'utiliser CTRL + F5 au lieu de F5 tout seul.
0