Par défaut, plusieurs DIVs sont masquées, puis je les masque lorsque l'utilisateur clique sur un bouton donné. Cela fonctionne bien mais quand j'essaie de fermer un DIV .holder en utilisant un span dans le DIV .holder, seul le premier fonctionne. Quand je clique sur les autres, rien ne se passe. Je n'obtiens aucune erreur ou aucune sorte de rétroaction visuelle.fadeOut() ne fait qu'effacer le premier élément
Le balisage:
<div class="holder" id="window_one">
<div class="title_bar">
<p>Window 1</p>
<div class="control_holder">
<span class="controls" id="close">X</span>
<span class="controls" id="minimize">_</span>
</div>
</div>
<div class="interface">
<p>Testing123</p>
</div>
</div>
<div class="calculator" id="window_two">
<div class="title_bar">
<p>Window 2</p>
<div class="control_holder">
<span class="controls" id="close">X</span>
<span class="controls" id="minimize">_</span>
</div>
</div>
<div class="interface">
<p>Testing123</p>
</div>
</div>
Le jQuery:
$(document).ready(function() {
$('#close').click(function() {
$(this).parents('.holder').fadeOut(250);
});
});
Que suis exactement je fais mal ici? J'utilise jQuery 1.10.2 si cela fait une différence.
Je démo le code sur jsFiddle mais semble être down atm.
Ids doit être unique, les classes d'utilisation –
vous pouvez avoir plusieurs classes pour un objet, il suffit de les séparer avec l'espace , ie class = "class1 class2" cet objet peut être addreses comme .class1 ou .class2 .... donc utilisez la classe au lieu des ids uniques ... et puis n'oubliez pas qu'il vous donnera un tableau donc lancez array et faites le pour chaque élément> | –
@ M.Svrcek Oups, oublié à ce sujet, merci! –