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

StackOverflow https://stackoverflow.com/questions/2035612

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

Était-ce utile?

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()); 
    });
});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top