Je construis un menu déroulant personnalisé dans jQuery. Maintenant je voudrais placer le texte de l'élément A.select au texte de l'élément sur lequel on clique. Mais je ne peux pas le faire fonctionner.Comment définir le texte() d'un parent d'un parent d'un élément dans jQuery?
C'est le html:
<div class="pulldown">
<a href="javascript:;" class="select">All cats/subs</a>
<div class="options">
<a href="javascript:;">Option one A</a>
<a href="javascript:;">Option two A</a>
<a href="javascript:;">Option three A</a>
<a href="javascript:;">Option four A</a>
</div>
</div>
Ceci est le code jQuery:
$(document).ready(function() {
$('div.pulldown').toggle(function() {
$(this).css('z-index','110');
$('.options', this).css('z-index','100').show('fast');
$('.options A', this).click(function(){
var value = $(this).text();
$(this).closest('DIV.pulldown A.select').text(value);
});
}, function(){
$(this).css('z-index','10');
$('.options', this).css('z-index','0').hide('fast');
}); });
Qu'est-ce que je manque ici?
Il me semble qu'après chaque toggle(), vous définissez un nouveau gestionnaire click(). Cela ne semble pas juste. Avez-vous jeté à console.log() le contenu de $ (this) .text(), pour être sûr de trouver la bonne chose? Il me semble que vous devez répondre à ces deux questions avant de pouvoir commencer à diagnostiquer le problème plus avant. –