100 votes

Obtenir la hauteur de div sans hauteur définie en css

Existe-t-il un moyen d'obtenir la hauteur d'un élément s'il n'y a pas de règle de hauteur CSS définie pour l'élément Je ne peux pas utiliser la .height() car elle nécessite d'abord un ensemble de règles CSS ? Existe-t-il un autre moyen d'obtenir la hauteur?

37voto

pixeltooth Points 505

Juste un petit mot au cas où d'autres auraient le même problème.

J'ai eu le même problème et j'ai trouvé une réponse différente. J'ai trouvé que l'obtention de la hauteur d'un div dont la hauteur est déterminée par son contenu doit être initiée sur window.load , ou window.scroll pas document.ready sinon j'obtiens des hauteurs impaires/des hauteurs plus petites, c'est-à-dire avant que les images ne soient chargées. J'ai également utilisé externalHeight() .

 var currentHeight = 0;
$(window).load(function() {
    //get the natural page height -set it in variable above.

    currentHeight = $('#js_content_container').outerHeight();

    console.log("set current height on load = " + currentHeight)
    console.log("content height function (should be 374)  = " + contentHeight());   

});

12voto

Madan Sapkota Points 3464

Peut le faire dans jQuery . Essayez toutes les options .height() , .innerHeight() ou .outerHeight() .

 $('document').ready(function() {
    $('#right_div').css({'height': $('#left_div').innerHeight()});
});

Exemple de capture d'écran

entrez la description de l'image ici

J'espère que cela t'aides. Merci!!

9voto

Tom Scholes Points 19

Assurez-vous également que le div est actuellement ajouté au DOM et visible .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X