2013-01-25 202 views
0

當我點擊鏈接隱藏或顯示段落文本時,我無法將鏈接設置爲'(顯示)'或'(隱藏)'。jQuery:顯示隱藏文本

這裏是我得到的將無法正常工作代碼:

var old_text = $(this).text(); 
var new_text = (old_text === '(hide)') ? '(show)' : '(hide)'; 
var toggle_link = $("<a href='#'> "+ new_text + "</a>"); 
$(this).after(toggle_link); 
toggle_link.on('click', function (event){ 
    $(this).siblings('p').toggle(); 
}); 
$(this).after(toggle_link); 

在上面的代碼。我正在切換顯示並隱藏鏈接,但文字並未改變。它只是('隱藏')。

+0

和$(這)是......? –

+0

$(this)指的是$(「div.article h2」)。each(function(){}點擊事件。 – KGKG

+0

好吧,'H2'與動態生成的'a'元素有什麼關係? –

回答

1

試試這個方法:

var toggle_link = $("<a href='#'>(hide)</a>"); 
     $(this).after(toggle_link); 
     toggle_link.on('click', function (event){ 
      $(this).siblings('p').toggle(); 
      var old_text = $(this).text(); 
      var new_text = (old_text === '(hide)') ? '(show)' : '(hide)'; 
      $(this).text(new_text); 
     }); 
0
如果你想顯示和隱藏文本或鏈接之間切換

。 讓我們假設你想通過點擊這裏的鏈接來切換段落的方式。

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
</head> 

<body> 
<a id="toggle" href="#" style="font-size:20px;">Click Me to show the Paragraph</a> 
<p id="toggle1">This is the Paragraph for the sake of this demo. Click the above link to Hide me.</p> 

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script> 
<script> 

     $("#toggle").click(function(){ 
     $("#toggle1").toggle('slow'); 
     }); 
</script> 
</body> 
</html> 

我希望這是你想要什麼的Cuz你的問題不清楚..