et merci d'avance pour votre aide!jQuery: Sélectionner des éléments avec des noms d'identifiant incrémentés?
Voici ma situation: J'ai un ensemble de divs dont les ID ont un nombre croissant appliqué à la fin du nom en utilisant PHP. Chacune de ces divs est ajoutée dynamiquement avec PHP (Il s'agit d'une série de questions FAQ avec un conteneur div caché avec les réponses, qui glissent vers le bas lorsque la question est cliquée.) [Exemple] [1]
limiter au nombre de questions qui apparaissent sur la page, car cela est utilisé pour un thème Wordpress et mon client veut ajouter de nouvelles questions au fur et à mesure.
Voici un exemple de la structure pour chaque question FAQ en utilisant PHP:
<?php var $faqnum = 0; $faqnum++; ?>
<div id="faqwrap<?php $faqnum; ?>">
<h4><a href="#faq<?php $faqnum; ?>" id="slidetoggle">What data is shared?</a></h4>
<div id="faqbox<?php $faqnum; ?>" class="slidebox">
<p>Data sharing is defined by the type of service:</p>
<ul class="list">
<li>Third-party access to data (Enhanced Services only is strictly controlled and determined by the SDA)</li>
<li>All members must participate in points of contact and conjunction assessment but can choose whether to participate in other services</li>
<li>Participation in a service requires the member to provide associated data<br />
</ul>
</div>
</div>
Maintenant, voici ce que j'ai actuellement en jQuery, et il fonctionne, mais seulement si j'ajoute un nouveau chaque fois que mon le client veut ajouter une nouvelle question.
$(document).ready(function() {
$('.slidebox*').hide();
// toggles the slidebox on clicking the noted link
$("#faqwrap1 a:not(div.slidebox a)").click(function() {
$("#faqbox1.slidebox").slideToggle('normal');
$('div.slidebox:not(#faqbox1)').slideUp('normal');
return false;
});
});
Je pensais que peut-être quelque chose de faire avec une variable déclarée, comme ceci:
for (var x = 0; x < 100; x++;) {
$('#[id^=faqwrap]'+ x 'a:not(div.slidebox a)')...
}
J'espère que cela est assez clair pour vous! Encore une fois, je vous remercie d'avance. :)
Je suis assez sûr que vous voulez dire 'class =" slidetoggle "', pas 'id =" slidetoggle "' dans votre HTML, car cela conduirait à des ID dupliqués dans votre page de résultats. – Tomalak