Pouvez-vous préciser un “data-target” pour "Bootstrap" qui se réfère à un frère ou une sœur de l'élément DOM sans l'aide d'un ID?

Je suis l'ajout dynamique de Rétractables éléments d'une page. Bootstrap utilise le "data-target" attribut pour spécifier l'élément de l'effondrement de la bascule s'applique.

De la documentation:

The data-target attribute accepts a css selector

Est-il un moyen d'écrire un sélecteur qui spécifie le prochain fils de l'élément parent? Tous les exemples de la documentation semblent utiliser les sélections par ID.

Spécifiquement le code HTML ressemble à:

<div class="accordion-group">
<div class="accordion-heading">
  <a class="accordion-toggle" data-toggle="collapse" data-target="#collapseOne">
    Generated Title
  </a>
</div>
<div id="collapseOne" class="accordion-body collapse in">
  <div class="accordion-inner">
    Generated Content... this is big and sometimes needs collapsing
  </div>
</div>
</div>

Je voudrais écrire quelque chose comme (pseudo-code à l'aide de jquery syntaxe illégalement):

<a class="accordion-toggle" data-toggle="collapse" data-target="$(this).parent().next()">

Mais je commence à soupçonner cela peut ne pas être possible avec les sélecteurs CSS.

Actuellement comme une solution de contournement, je suis de la génération d'un nouveau code (un nombre d'incrémentation ajouté à une chaîne de caractères) quand je créer l'élément.

Est-il une plus belle approche à l'aide d'un sélecteur? Dois-je utiliser certains post-création javascript pour définir les données de l'attribut cible? Est la génération d'Id pour le contenu dynamique de l'approche standard?

  • Pourriez-vous poster le code qui prend la data-target valeur de l'attribut et effectue de la recherche (serait de twitter bootsrap, probablement)?
  • ce que vous voulez est un sélecteur jQuery et comme il est dit dans la documentation, vous devez donner un sélecteur css. Vous devriez coller avec Id. C'est aussi le moyen le plus rapide pour JS pour trouver l'élément qui est pourquoi il fonctionne de cette façon 😉
  • Une demande raisonnable, mais je ne sais pas par où commencer à chercher. Je suis en utilisant bootstrap 2.1.1 via <script src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.1.1/js/bootstrap.min.js"></script> pour ce que ça vaut.
  • Bon à savoir, merci! Je suis nouveau à ce genre de choses et il se sentait étrange, d'où cette question. Si c'est le standard de l'approche que je vais arrêter de m'inquiéter.
  • Indépendamment de ce que les docs pourrait-on dire, la mise en œuvre effective de ce plug-in utilise le data-target valeur comme un sélecteur jQuery.
InformationsquelleAutor Soverman | 2012-10-09