2016-03-06 40 views
3

问题在于,element.style.width返回一个字符串,而不是一个数字。JS最好的方法来增加大小

我想做增加宽度,像这样:

element.style.width += 100; 

,但它仍然是相同的。我的解决办法是采取长期方式之一:

element.style.width = element.offsetWidth + 100; 
element.style.width = parseInt(element.style.width) + 100; 

(值得庆幸的是,它不需要+ 'px'

有没有更好的方式来做到这一点?

+3

应该要求 “PX” – epascarello

回答

1

你可以这样做:

var computedStyles = window.getComputedStyle(element, null); 
var width = window.parseInt(computedStyles.width, 10); 
element.style.width = (width + 100) + 'px'; 

jQuery,你可以这样做:

$(element).css("width", "+=200"); 

查看更多有关它http://api.jquery.com/css/

+4

jQuery是不是在标签中提到 –

0

你也可以试试这个,虽然它是不特别合适或紧凑;

element.setAttribute("style","width:" + (element.offsetWidth + 100) + "px"); 

A fiddle example