2015-02-06 114 views
0

尊敬的各位程序員更改CSS類元素高度

我工作的一個項目,已最小化的amChart JavaScript文件的版本吧。問題是我需要改變這些JS文件中特定類元素的高度。但是,它們被最小化了。所以我不能改變他們的任何事情。

我想到了創建一個新的JS文件,更改該類的高度屬性,並將其放置在其他amchart最小化JavaScript文件下的資源頁面中,這樣它可以在末尾和地方讀取我的JS我需要的高度屬性,因爲我相信它的工作方式是按順序讀取JS文件。

如果你想知道我爲什麼不只是做一個CSS文件,而不是一個JavaScript文件,因爲JS文件CSS文件後,看了那麼也沒關係,我把它。

你能告訴我,如果這就是我們如何在JavaScript改變高度屬性的一類元素文件?該類是.amcharts傳說

//changing the height attribute of amChartsLegend 

var myElements = document.querySelectorAll(".amChartsLegend") 
myElement.style.height("20px") 

還有一個問題是應該文檔被替換爲amchart最小化JS文件的實際名稱?假設這是爲改變高度

+0

querySelectorAll並不像JQuery的工作,你將不得不在返回的元素手動循環。 – 2015-02-06 16:37:14

回答

0

而不是使用Javascript,爲什麼不重寫樣式呢?

<style type='text/css'> 
    .amChartsLegend { 
     height: 20px !important; 
    } 
</style> 
+0

中,因爲我已經嘗試過了。我將它放置在任何地方的html文件中。它甚至表明它是在延期資源之下,儘管高度沒有變化。我沒有添加!很重要,但我認爲這不是必要的。 – Mozein 2015-02-06 16:37:21

+0

@Mozein - 您必須使用'!important',因爲其他縮小的樣式可能包含具有更高特異性的選擇器... https://developer.mozilla.org/zh-CN/docs/Web/CSS/Specificity – LcSalazar 2015-02-06 16:43:37

+0

The' !重要「修飾符將覆蓋任何以前定義的屬性。 – LcSalazar 2015-02-06 16:44:42

1

使用for statement正確的代碼,因爲你正在使用它返回一個數組

var myElements = document.querySelectorAll(".amChartsLegend"); 
console.log(myElements.length); 
for (var i= 0; i < myElements.length ; i++) { 
    myElements[i].style.height = "20px" 
} 

這裏document.querySelectorAll是一個例子

var myElements = document.querySelectorAll(".amChartsLegend"); 
 
console.log(myElements.length); 
 
for (var i= 0; i < myElements.length ; i++) { 
 
    myElements[i].style.height = "20px" 
 
}
memu li{ 
 
    background: #ccc; 
 
}
<menu> 
 
    <li class=amChartsLegend>amChartsLegend</li> 
 
    <li>normal</li> 
 
    <li class=amChartsLegend>amChartsLegend</li> 
 
    <li class=amChartsLegend>amChartsLegend</li> 
 
    <li>normal</li> 
 
    <li>normal</li> 
 
</menu>

enter image description here

+0

謝謝你。事實證明,我可以用CSS文件解決它,但這幫助我理解如何將CSS包含在javascript文件 – Mozein 2015-02-06 18:41:53

0
var nodes = document.querySelectorAll(".amChartsLegend") 
for (var i =0; i < nodes.length; i++) { 
    nodes[i].style.height = "20px"; 
} 
0

你應該使用

var myElements = document.querySelectorAll(".amChartsLegend"); 
for (var i= 0; i < myElements.lenght ; i++) { 
myElement[i].style.height="20px"; 
} 
+0

.height(「20px」)它永遠不會工作 – felipsmartins 2015-02-06 16:36:28

+1

@felipsmartins:這是一個錯字錯誤...改變它..感謝指出:) – 2015-02-06 16:38:35