Exécuter des fonctions sur des éléments avec une certaine classe, dès que le DOM est chargé, ne pas utiliser un gestionnaire d'événements
-
19-09-2019 - |
Question
J'ai une simple fonction que je veux courir sur tous les éléments avec une certaine classe. Je veux que cette fonction soit exécutée dès que le DOM est chargé; non pas sur un gestionnaire d'événements.
est ci-dessous le code qui sera exécuté sur un gestionnaire d'événements comme vol stationnaire. Comment puis-je faire courir dès que le DOM est chargé?
$(document).ready(function(){
var displayname = $(".displayname");
function alignSpans(){
var spanheight = this.offsetHeight;
var cssbottom = spanheight + "px";
this.style.bottom = cssbottom;
}
displayname.hover(alignSpans);
});
displayname.alignSpans();
ne fonctionne pas
La solution
Si l'on suppose displayname
est un objet jQuery, vous pouvez utiliser .each()
pour appeler une fonction de rappel à l'aide this
que les éléments DOM contenus (ce qui est très commodément la même convention en tant que gestionnaire d'événement)
displayname.each(alignSpans);
Autres conseils
C'est ce que la fonction .each () est pour. J'ai fait votre code un peu trop plus efficace:
$(document).ready(function(){
$(".displayname").each(function() {
$(this).css("bottom", $(this).height());
});
});