J'ai un script dans lequel cliquer sur un div particulier (par exemple id = packtoa) va (entre autres choses) .addclass ('show') afficher des éléments avec une classe qui correspond à l'id du div cliqué.Insérer un ID div dans le script
Ce qui fonctionne très bien, mais alors je veux que la prochaine div (id = packfhag) fasse la même chose, et ensuite la suivante. J'ai donc le même script plusieurs fois dans mon js avec juste le nom de la classe & changé. Je suis sûr qu'il y a une manière stupide et évidente d'automatiser cela, de sorte que tout div avec un identifiant commençant par "pack" va déclencher ce script, taper le div id, et l'insérer dans le script où le nom de la classe est appelé.
Et je suis sûr que je suis près à essayer d'adapter ce script:
$("div[id^=pack]").each(function() {
var match = this.id.match(/\w+$/)[0];
$(this).addClass('show');
});
Mais Je ne peux pas le casser. Soit quelque chose ci-dessus ne va pas, ou je l'insérer dans le mauvais endroit dans le script:
// Tears of Ameratsu menu functions
$(document).bind('pageinit', function() {
// When link is clicked
$('#packtoa').click(function() {
// collapse the expansions menu
$("#expansionsmenu").click();
// hide everything except this expansion
$(".hidden").removeClass('show');
$(".packtoa").addClass('show');
// clear the search, and trigger a blank search
$('input[data-type="search"]').val('');
$('input[data-type="search"]').trigger("keyup");
});
});
Qu'est-ce que je manque?
pourquoi pas faire l'action de clic sur un clas s plutôt qu'un ID, alors chaque nouveau div créé a la même classe? – user101289