2017-09-26 151 views
2

更改屬性css的值我們可以通過javascript更改屬性CSS 的值嗎?我們可以通過js

我的意思是,我有創造

<li class="Item">first</li> 

凡在CSS類我有屬性height: 200; width: 200;

,問題是無論如何我可以通過使用height & & width變化值JavaScript的?

+4

是的,你一定要能夠通過只使用Google找到這個「設置香草CSS JavaScript的」 – rjustin

+1

可能[在JavaScript中設置DIV寬度和高度]的副本(https://stackoverflow.com/questions/10118172/setting-div-width-and-height-in-javascript)和[在標準模式下設置元素寬度或高度]( https://stackoverflow.com/questions/4667651/set-element-width-or-height-in-standards-mode) – kyle

+0

你爲什麼想這樣做?這可能會影響您使用的解決方案(設置內聯樣式,添加不同的類,生成類,將列表大小設置爲自身而不是每個元素等)。 – Blue

回答

-1

你最好的方法可能是使用jQuery框架並使用它的.css()方法。

http://api.jquery.com/css/

$('.Item).css('width', '200px') 

應該這樣做。

如果你想與香草的JavaScript,你可以嘗試以下方法去做:

document.getElementsByClassName("Item").style.width = "300px"; 
+0

我們可以在乾淨的JavaScript中做到這一點?因爲爲這件事安裝整個jquery庫可能是沒有意義的 –

+0

你可以使用vanilla javascript的.style()方法。我還沒有嘗試過,只是使用類ID,但儘管如此。 – MLK

+0

同樣在這裏它只改變當前匹配元素的樣式,它不會改變css級樣式 – kwarunek

0
var els = document.querySelectorAll(className); 
var index = 0, length = els.length; 
for (var i = 0 ; index < length; index++) { 
    els[index].style.width= "500px"; 
    els[index].style.height= "500px"; 
} 

的className只是工作像正常的CSS選擇器,這樣你就可以像「li.Item」爲例。

這將影響所有具有「Item」類的元素。

0

使用element.style

var element = document.getElementsByClassName('Item'); 
element.style.width = "100px"; 

就像this answer

或者你可以使用jquery

$(".Item").css("width", "100px"); 
1

是的,您可以直接訪問樣式表CSS屬性和support for this is improving,實際上是looks pretty good today(向下滾動到瀏覽器兼容性部分)。

但是,這不會是一個簡單的過程,因爲在使用大型樣式表時,您必須遍歷cssRules數組以找到適當的類(最佳方法)或硬編碼類的索引你想(可能不這樣做。它在這個例子中工作,因爲只有一個類)。或者,我認爲,作爲一種折中方法,您可以創建一個單獨的「動態樣式」樣式表,並且只有幾條可能稍後動態更改的規則。

訪問文檔樣式表並修改你想要像這樣的類:

setTimeout(function(){ // Timeout used only for before/after comparison 
 
    var stylesheet = document.styleSheets[0]; 
 
    stylesheet.cssRules[0].style.width = '50px'; 
 
    console.log(stylesheet.cssRules[0]); 
 
}, 750);
.item { 
 
    width: 100px; 
 
    height: 50px; 
 
    background-color: #000; 
 
    margin: 10px; 
 
    display: inline-block; 
 
}
<div class="item"> 
 

 
</div> 
 
<div class="item"> 
 

 
</div> 
 
<div class="item"> 
 

 
</div>

+0

更多信息在W3 - https://www.w3.org/wiki/Dynamic_style_-_manager_cSS_with_JavaScript – kwarunek

相關問題