使用jquery获取元素的边距大小
如何使用jquery获取元素的属性?我特别想得到一个div的边距大小 例如,我在.css文件中设置了div的样式使用jquery获取元素的边距大小,jquery,css,html,Jquery,Css,Html,如何使用jquery获取元素的属性?我特别想得到一个div的边距大小 例如,我在.css文件中设置了div的样式 .item-form { margin:0px 0px 10px 0px; background: blue; } html <form> ... <div class="item-form"> <textarea class="autohide"></textarea> </div> ... <
.item-form {
margin:0px 0px 10px 0px;
background: blue;
}
html
<form>
...
<div class="item-form">
<textarea class="autohide"></textarea>
</div>
...
</form>
有什么想法吗?谢谢。CSS标签“margin”实际上是四个单独的边距值的缩写,即上/左/下/右。使用css('marginTop'),等等。注意,如果您以这种方式指定它们,它们的末尾将有'px' 对结果使用
parseInt()
将其转换为数值
注意。正如Omaty所指出的,速记“margin”标记的顺序是:右上-左下
-上面的列表不是按照列表顺序编写的,只是标记中指定的列表
你会想用
alert(parseInt($this.parents("div:.item-form").css("marginTop").replace('px', '')));
alert(parseInt($this.parents("div:.item-form").css("marginRight").replace('px', '')));
alert(parseInt($this.parents("div:.item-form").css("marginBottom").replace('px', '')));
alert(parseInt($this.parents("div:.item-form").css("marginLeft").replace('px', '')));
从
简写CSS属性(例如边距、,
背景、边框)不受支持。
例如,如果要检索
渲染的边距,请使用:
$(elem.css('marginTop')和
$(elem).css('marginRight'),等等
例如:
<div id="myBlock" style="margin: 10px 0px 15px 5px:"></div>
变量变成“15px”,一个字符串
如果您想要一个整数,为了避免NaN(不是数字),有多种方法
最快的方法是使用本机js方法:
var myMarginTop = parseInt( $("#myBlock").css("marginBottom") );
明白了,非常感谢:)这太棒了!多谢各位-1当尝试将字符串添加到整数时,这将导致字符串连接。正确答案是。。。。。警报(parseInt($this.parents(“div:.item form”).css(“marginTop”),10));magin属性的正确顺序是:
top right bottom left
Source:Wow,我不知道parseInt('45 gobbledeyBook');结果是45。你疯了@WillMorgan:它可以处理整数部分后的垃圾,但只允许在它之前有空格。请注意,在IE7/8中,如果您的边距没有明确设置为。css('marginTop')
将返回auto
,而不是0px。所以当你运行parseFloat或parseInt时,你会得到Nan。@EasyCo:很好。IE7的margin top
实现通常有缺陷,因此在处理该浏览器时始终值得警惕。
var myMarginTop = $("#myBlock").css("marginBottom");
var myMarginTop = parseInt( $("#myBlock").css("marginBottom") );