Comment déterminer si la largeur a un px ou%

Comment puis-je savoir si une propriété css telle que la largeur ex: width:100% a été affecté par px ou%. Dans chrome par exemple si j'ai width:250px; Et je fais $('div').width() j'obtiens 250 alors que si j'utilise un pourcentage, j'obtiens la largeur en px pour le pourcentage en fonction de ma résolution d'écran.

Cela devrait fonctionner.

 var value = $('#id').get(0).style.width; var hasPx = value.indexOf('px') >= 0; var hasPct = value.indexOf('%') >= 0; 

JSBin: http://jsbin.com/asewit/2/edit#javascript,html

Si par "propriété css" vous entendez la règle css, et non la propriété de style en ligne définie directement dans l'élément, il n'y a pas de moyen rapide de l'obtenir. Vous devriez:

  1. Consulter toutes les déclarations de règles css

  2. Bouclez toutes les règles css et vérifiez si l'élément correspond à la règle et faites-la entrer

  3. Bouclez les candidats et prenez la dernière valeur de largeur, ou la dernière valeur de largeur avec! Important

Si vous voulez dire un style en ligne, c'est tellement trivial, il est difficile de comprendre pourquoi la question a eu tellement de réponses élevées:

element.style.width et vérifiez s'il y a un px ou% là-bas

Edit: voici une démonstration incomplète pour la requête de règle css:

http://jsfiddle.net/Chjnd/1/

Testé dans google chrome et firefox

Vous pouvez utiliser .style.cssText , qui contient le code CSS actuel:

 $("<div style='width:50px'>").get(0).style.cssText // "width: 50px; " $("<div style='width:50% '>").get(0).style.cssText // "width: 50%; "