60 votes

Comment obtenir la largeur de la bordure en jQuery/javascript

Comment dois-je analyser la largeur de la bordure de

style="border: solid 1px black;"

en jQuery/javascript?

$elem.css('border-width')

ne pas le faire.

Note que j'ai besoin d'analyser la largeur de la css, l'élément peut être display:none

Merci

Edit je ne suis pas vraiment à l'aide d'une ligne de style, j'ai juste écrit de cette façon pour des raisons de simplicité que je n'ai pas réalisé qu'il y avait quelque behavoural différence. Il semble bien fonctionner pour les styles en ligne, mais encore ne pouvez pas obtenir la valeur d'un appliqué classe css.

93voto

GenericTypeTea Points 27689

Vous pouvez simplement utiliser parseInt(); pour analyser la largeur de la bordure de Npx de N:

var width = $elem.css('borderWidth'); // 150px
var parsed = parseInt(width);         // 150

J'ai eu un autour de Google et il semble pour obtenir la largeur d'une bordure, vous devez fournir un explicite côté de la frontière:

var borderWidth = $elem.css("border-left-width");

C'est parce qu'il est possible pour chaque frontière pour avoir une taille différente, le style et la couleur. Malheureusement, il ne semble pas y a pas plus simple que cela.

9voto

Ben Everard Points 8295

jQuery ne permet pas l'utilisation d' - lors de la référence à une propriété CSS, donc, supprimer le tiret, et à capitaliser la lettre suivante.

$elem.css('borderWidth');

Codé en jsFiddle à démontrer.

7voto

Bryan Points 317

Pour compléter Générique de réponse lors de la recherche, il a bordure gauche et à inclure insaisissable du commentaire à propos de radix:

<div style="border-style:solid;border-left-width:15px;"></div>

dans le script:

var width =parseInt($('div').css('borderLeftWidth'),10);
alert(width);

7voto

jedierikb Points 4066
var bordersOnBothSides = $("#measureMe").outerWidth() - $("#measureMe").innerWidth() );

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