3 votes

Comment savoir si la hauteur ou la largeur d'un élément a été définie en javascript/css ?

Existe-t-il un moyen de savoir si un élément hauteur o largeur a été paramétré (pas auto) en javascript/css ? elm.style.height ne retournera une valeur que si la hauteur est définie dans la liste d'attributs de l'élément : <div style='height:200px' .... ></div> sinon il retournera toujours une chaîne vide, même si vous définissez la hauteur dans une balise de style ou un fichier css : .myElmCss{hauteur:200px} .

En revanche, l'utilisation de window.getComputedStyle() ou de elm.currentStyle renverra toujours une valeur, même si aucune hauteur n'a été définie ni dans la liste d'attributs de l'élément ni dans un fichier css/balise de style.

Merci.

1voto

MikeM Points 14711

Consultez ce post Comment lire les valeurs des règles CSS avec JavaScript ?

Pour faire ce que vous cherchez, il semble que ce soit une question d'itération sur les feuilles de style pour trouver les propriétés déclarées. Il est probable que vous fassiez également des références croisées avec les styles en ligne, comme vous l'avez mentionné dans votre question.

de Le message de @InsDel :

function getStyle(className) {
    var classes = document.styleSheets[0].rules || document.styleSheets[0].cssRules
    for(var x=0;x<classes.length;x++) {
        if(classes[x].selectorText==className) {
                (classes[x].cssText) ? alert(classes[x].cssText) : alert(classes[x].style.cssText);
        }
    }
}

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