2010-12-07 58 views
0

我有一個HTML結構像如何改變點擊的元素的innerHTML原型

<p> 
     <a onclick="try { 
     toggle_detail(&quot;additional&quot;); 
     } catch (e) { alert('RJS error:\n\n' + e.toString()); alert('toggle_detail(\&quot;additional\&quot;);'); throw e }; return false;" href="#">Show   </a> 
</p> 

<div id="additional"> 
    <p>1</p> 
    <p>2</p> 
    <p>3</p> 
    <p>4</p> 
</div> 

我寫一個原型上顯示點擊顯示額外股利和隱藏的隱藏。

$$("."+element_id).each(function(el){ 
     if(el.visible()){el.hide(); 

      // el.previous(0).innerHTML="Show"; 

    } 
     else {el.show(); 
      // el.previous(0).innerHTML="Hide"; 
    } 
    }); 

其中element_id = 「額外」

如何更新鏈接的innerHTML顯示/隱藏? 我不知道如何更新點擊鏈接的innerHtml .. 請給點建議

回答

2

添加到您的click處理程序。

this.innerHTML = (this.innerHTML == 'Show')?'Hide':'Show'; 

或者調用作爲參數添加到您的toggle_detail功能

toggle_detail(this, &quot;additional&quot;); 

並且把函數接受額外的參數

function toggle_detail(clickButton, className){ 
    // do what you want with clickButton // 
} 

而且它使不出來改變文本里面的each。您應該只在撥打each之前或之後執行一次。

獎勵:而不是if(el.visible()) el.hide(); else el.show()你可以簡單地使用el.toggle()

+0

實際上,我正在生成鏈接 – useranon 2010-12-07 11:04:55