如何检索元素的CSS属性(例如margin-left
),然后可以向其添加一些值,并使用更新的值更改元素。
假设:
var element = document.getElementById("myElement");
var value = element.style.margin-left;
//How to do something like this?
var updatedValue = value + 10;
element.style.margin-left = updatedValue;
因为,style.margin-left
接受以像素为单位的值。如何检索当前值,然后向其中添加内容,然后使用相同的内容更新元素?
谢谢。
答案 0 :(得分:7)
只需使用parseInt
或parseFloat
将字符串转换为数字,然后重新应用px
。
var value = parseInt(element.style.marginLeft);
element.style.marginLeft = (value + 10) + 'px';
注意:这适用于其他单位,例如em
,%
等。
评论中的每个@ScottKaye,如果样式是通过样式表而不是DOM元素的getComputedStyle
属性应用的,那么这是使用style
的示例:
var value = parseInt( window.getComputedStyle(element).marginLeft );
element.style.marginLeft = (value + 10) + 'px';