Подтвердить что ты не робот

Получить размер поля элемента с jquery

Как я могу получить свойства элемента с jquery? Я хочу получить размер поля div в частности.

Я установил стиль div в файле .css, например,

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

html,

<form>
...

<div class="item-form">
   <textarea class="autohide"></textarea>
</div>

...

</form>

Я пробовал с этим кодом, но он явно не работает,

$(".autohide").each(function(){

var $this = $(this);
alert($this.parents("div:.item-form").css("margin"));


});

любые идеи? спасибо.

4b9b3361

Ответ 1

"margin" тега CSS на самом деле является сокращением для четырех отдельных значений маржи, верхнего/левого/нижнего/правого. Используйте css('marginTop') и т.д. - обратите внимание, что они будут иметь "px" на конце, если вы указали их таким образом.

Используйте parseInt() вокруг результата, чтобы включить его в числовое значение.

NB. Как отметил Омати, порядок стенографического метка "margin": top right bottom left - приведенный выше список не был написан таким образом, чтобы он был списком, только список, указанный в тег.

Ответ 2

Вы хотите использовать...

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', ''));

Ответ 3

Например, для:

<div id="myBlock" style="margin: 10px 0px 15px 5px:"></div>

В этом js-коде:

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

var становится "15px", строкой.

Если вы хотите Integer, чтобы избежать NaN (Not a Number), существует несколько способов.

Самый быстрый способ - использовать собственный метод js:

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

Ответ 4

От сайт jQuery

Сокращенные свойства CSS (например, маржа, фон, граница) не поддерживаются. Например, если вы хотите получить предоставленный запас, используйте: $(elem).css('marginTop') и $(elem).css('marginRight') и т.д.