2011-12-28 52 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