2011-12-28 71 views
0

我有一个非常简单的函数,应该:的Javascript切换功能:更改文本,改变类样式

  • 改变措辞(从扩展到崩溃)
  • 改变风格(能见度)的一类

它八九不离十的作品,但真的不

function toggle_expansion(id) { 
var e = document.getElementById(id); 
var es =getElementsByClass('expansion'); 
if (e.innerHTML ='expand all') {   
    e.innerHTML ='collapse all'; 
    for(i=0; i<es.length; i++) 
    {es[i].style.display = 'none';} 
    } 
else {  
    e.innerHTML ='expand all'; 
    for(i=0; i<es.length; i++) 
    {es[i].style.display = 'block';} 
    } 
} 

和HTML:

<a href='#nogo' onclick="toggle_expansion('expand');"><div id='expand'>expand all</div></a> 

文本更改在第一次单击时有效,但只有一次和类样式更改不起作用(尽管它在其他片段中起作用)。

有没有错误抛出 - 它只是不工作...任何人有任何想法?

回答

3
if (e.innerHTML ='expand all') { 

应该

if (e.innerHTML == 'expand all') { 
当然
+0

!这是一个很大的呃!文本更改现在工作(是啊!并且谢谢!) - 仍然在改变班级风格... – jlisham 2011-12-28 22:53:12

+0

您是否验证了es的内容? – 2011-12-28 22:56:26

+0

这一切都很好 - 我改变了风格。 – jlisham 2011-12-29 14:38:01