Essayez d'obtenir une référence à votre div et la lecture des offsetWidth
et offsetHeight
propriétés:
var myDiv = document.getElementById('myDiv');
var width = myDiv.offsetWidth; // int
var height = myDiv.offsetHeight;
offsetWidth
/
Height
mesures cumulées des frontières de l'élément, rembourrage horizontal, la barre de défilement vertical (le cas échéant, si elles sont données) et la largeur CSS . Ce sont les valeurs de pixel de l'espace entier que l'élément utilise dans le document. Je pense que c'est ce que tu veux.
Si ce n'est pas ce que vous vouliez dire, et que vous préférez seulement essayer getComputedStyle
width
et height
(hors rembourrage, marge, etc.) de l'élément:
var comStyle = window.getComputedStyle(myDiv, null);
var width = parseInt(comStyle.getPropertyValue("width"), 10);
var height = parseInt(comStyle.getPropertyValue("height"), 10);
Les valeurs ci-dessus seront les valeurs de pixel finales calculées pour les propriétés de style CSS css (<style>
ou feuille de style externe).
Comme toutes les choses utiles, cela ne fonctionnera pas dans IE.
Vous dites que vous utilisez jQuery. Eh bien, il est trivial maintenant, et travaille cross-browser:
var width = $('div').css('width');
var height = $('div').css('height');
Avec jQuery vous n'avez pas besoin de la première partie de cette réponse, il est tous pris pour toi;)
Cela semble juste, mais il retourne «indéfini». Merci pour votre aide. – doctororange
@doctororange: ** assurez-vous d'obtenir une référence à votre div ** correctement. Si vous faites cela, les propriétés 'offsetWidth' /' Height' ne retourneront jamais 'undefined'. Au pire, ils renverront 0 si l'élément n'est pas visible. –
Exactement. C'était juste que j'utilisais des sélecteurs jQuery, qui ne devaient pas fonctionner correctement dans ce but. – doctororange