更改屬性css的值我們可以通過javascript更改屬性CSS 類的值嗎?我們可以通過js
我的意思是,我有創造
<li class="Item">first</li>
凡在CSS類我有屬性height: 200; width: 200;
,問題是無論如何我可以通過使用類height
& & width
變化值JavaScript的?
更改屬性css的值我們可以通過javascript更改屬性CSS 類的值嗎?我們可以通過js
我的意思是,我有創造
<li class="Item">first</li>
凡在CSS類我有屬性height: 200; width: 200;
,問題是無論如何我可以通過使用類height
& & width
變化值JavaScript的?
你最好的方法可能是使用jQuery框架並使用它的.css()方法。
$('.Item).css('width', '200px')
應該這樣做。
如果你想與香草的JavaScript,你可以嘗試以下方法去做:
document.getElementsByClassName("Item").style.width = "300px";
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」類的元素。
var element = document.getElementsByClassName('Item');
element.style.width = "100px";
或者你可以使用jquery:
$(".Item").css("width", "100px");
是的,您可以直接訪問樣式表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>
更多信息在W3 - https://www.w3.org/wiki/Dynamic_style_-_manager_cSS_with_JavaScript – kwarunek
是的,你一定要能夠通過只使用Google找到這個「設置香草CSS JavaScript的」 – rjustin
可能[在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
你爲什麼想這樣做?這可能會影響您使用的解決方案(設置內聯樣式,添加不同的類,生成類,將列表大小設置爲自身而不是每個元素等)。 – Blue