2015-02-06 95 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