我正在尝试做三件事onclick
:
id="notes_content"
的元素更改为display:none
至display: block
id="oct"
的元素更改为width = "1190px"
至width = "550px"
class="oct_days"
的元素更改为width = "168px"
至width = "73px"
完整代码的小提琴:http://jsfiddle.net/ascottz/jX3wh/
前两个发生,但第三个没发生。我怀疑这是一个语法错误,但我自己无法抓住它。
答案 0 :(得分:1)
getElementsByClassName
返回一个dom元素数组,它不是单个实例。您必须循环遍历数组并设置每个元素的样式。
看看更新的小提琴。
for( var i = 0; i < days.length; i++ ){
days[i].style.width = "73px";
}
答案 1 :(得分:0)
document.getElementsByClassName
稍微返回一个元素数组,所以你不能简单地将它称为DOM元素,希望它能够在你引用集合的每个元素时起作用(这在jQuery,btw中是可能的) ,所以你必须使用foreach循环(无论你怎么做到这一点 - 通过简单for()
,或for(x in y)
,或任何其他方式)。
我通常使用Array.forEach
函数,但document.getElementsByClassName
返回的数组的特定类型在原型中没有这样的函数,因此您必须使用[].forEach.call(inWhat,function(what){})
语法或后备到for(...)
语法。
看看这个:http://jsfiddle.net/jX3wh/1/ 不知道它是否有效。
答案 2 :(得分:0)
此外,这是什么?
<div onclick="javascript:showDiv();" class="oct_days">
我真的很惊讶这个作品。我认为你应该使用onclick="showDiv()"
。
有人,请告诉我它是如何运作的!