2016-03-06 35 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