obtenir la taille de la marge d’un élément avec jquery

Comment puis-je obtenir les propriétés d’un élément avec jquery? Je veux avoir la taille de la marge d’un div en particulier.

J’ai défini le style de la div dans un fichier .css, par exemple,

.item-form { margin:0px 0px 10px 0px; background: blue; } 

le html,

 
...
...

J’ai essayé avec ce code, mais il échoue évidemment,

 $(".autohide").each(function(){ var $this = $(this); alert($this.parents("div:.item-form").css("margin")); }); 

des idées? Merci.

La balise CSS ‘margin’ est en fait un raccourci pour les quatre valeurs de marge distinctes, en haut / à gauche / en bas / à droite. Utilisez css('marginTop') , etc. – notez qu’ils auront ‘px’ si vous les avez spécifiés.

Utilisez parseInt() autour du résultat pour le transformer en valeur numérique.

NB Comme indiqué par Omaty, l’ordre de l’étiquette raccourcie «marge» est: en top right bottom left – la liste ci-dessus n’a pas été écrite de manière à être l’ordre de la liste, juste une liste de celle spécifiée dans l’étiquette.

Vous voudrez utiliser …

 alert($this.parents("div:.item-form").css("marginTop").replace('px', '')); alert($this.parents("div:.item-form").css("marginRight").replace('px', '')); alert($this.parents("div:.item-form").css("marginBottom").replace('px', '')); alert($this.parents("div:.item-form").css("marginLeft").replace('px', '')); 

Exemple, pour:

 

Dans ce code js:

 var myMarginTop = $("#myBlock").css("marginBottom"); 

La var devient “15px”, une chaîne.

Si vous voulez un entier, pour éviter NaN (pas un nombre), il y a plusieurs façons.

Le plus rapide est d’utiliser la méthode native js:

 var myMarginTop = parseInt( $("#myBlock").css("marginBottom") ); 

Du site de jQuery

Les propriétés CSS abrégées (par exemple, marge, arrière-plan, bordure) ne sont pas sockets en charge. Par exemple, si vous souhaitez récupérer la marge rendue, utilisez: $ (elem) .css (‘marginTop’) et $ (elem) .css (‘marginRight’), etc.