J'ai le script suivant qui obtient l'index de l'onglet sélectionné: p>
http://jsfiddle.net/oshirowanen/ewnca/ p>
est-il possible d'obtenir l'identifiant à la place, si le LI a eu des identités. S'il est plus facile de l'obtenir d'ailleurs, cela irait aussi bien, c'est-à-dire les balises de div liées, ou ailleurs. P>
5 Réponses :
var id = $("li.tab:eq("+selected+")").attr('id');
jQuery ui ajoute simplement une classe à la LI sélectionnée. Vous pouvez simplement tirer le LI avec la classe sélectionnée comme ceci: Si vous vouliez obtenir l'un des onglets non sélectionnés, vous pouvez faire quelque chose comme ceci: P> var id = $("li.tab:not(.ui-tabs-selected)").first().attr("id");
Votre démo ne semble pas fonctionner. Il semble de retourner l'index.
Je préfère la solution d'Eugene ci-dessous car, bien qu'elle soit techniquement moins efficace, elle ne dépend pas du comportement par défaut de JQuery et il montre l'utilisateur comment il / elle peut obtenir l'identifiant d'un onglet non sélectionné pour une situation différente et future.
Mise à jour My Jsfiddle Link, incluait également un moyen d'obtenir un onglet «non sélectionné» au cas où c'est une préoccupation.
Si vous êtes capable d'utiliser simplement le gestionnaire d'événements code> de l'ongled Control, cela fonctionne bien: aussi, voici
Si vous venez ici via Google comme moi-même et utilisez jQuery ui 1.9.x, utilisez l'activate code> ou ou
Beforeactivate code> événements pour obtenir le
ID Code>:
$('selector').tabs({
activate: function(e, ui) {
var id = $(ui.newPanel).prop('id');
}
});
Si vous utilisez JQuery Tabs (nouvelle version):
<div id="tabs"> <ul> <li data-value="tab1"><a href="#tab1">Name of tab1</a></li> <li data-value="tab2"><a href="#tab2">Name of tab2</a></li> </ul> <div id="tab1"> </div> <div id="tab2"> </div> </div> //get id in init $(function () { $("#tabs").tabs({ activate: function(event ,ui) { var id = $(ui.newPanel).prop('id'); } } ); }); var id = $("#tabs li.ui-state-active").attr('data-value'); //get id in other function
Je ne suis pas d'accord, l'affichage des liens vers Jsfiddle permet aux utilisateurs de modifier rapidement et facilement le script, sans avoir à le recréer sur leur propre ordinateur qui prendrait plus de temps à la personne qui tente d'aider.