2012-06-01 136 views
2

我想點擊鏈接「添加其他評論」來顯示文本區域並將文本切換爲「刪除評論」。當單擊「刪除評論」時,它應該隱藏文本區域,文本需要更改爲「添加其他評論」。jQuery切換div和切換文本

我使用的代碼

<script type="text/javascript"> 
$(document).ready(function(){ 
$("#addcmt").click(function() 
{ 
$(".commentarea").toggle(); 
if ($("#addcmt").text = "Add additional comment") { 
    $("#addcmt").text("Remove comment"); 
    } 
else { 
    $("#addcmt").text("Add additional comment"); 
} 
}); 
}); 
</script> 

的HTML是

<div class="addlcomment"> 
    <a id="addcmt">Add additional comment</a> 
</div> 
<div class="commentarea" style="display:none;"> 
    <textarea name="strcomments1" tabindex="2"></textarea> 
</div> 

文本切換不工作。

任何幫助表示讚賞。

回答

6

工作演示http://jsfiddle.net/eDNH5/10/

這將幫助你!

的問題是你使用賦值運算符,而不是平等==

jQuery代碼

$(document).ready(function() { 
    $("#addcmt").click(function() { 
     $(".commentarea").toggle(); 
     if ($("#addcmt").text() == "Add additional comment") { 
      $("#addcmt").text("Remove comment"); 
     } 
     else { 
      $("#addcmt").text("Add additional comment"); 
     } 
    }); 
});​ 
+0

非常感謝你 – Paramasivan

+0

@Paramasivan很高興我可以幫助:) –

0

你要排隊一個錯誤:

if ($("#addcmt").text = "Add additional comment") { 

應該是:

if ($("#addcmt").text() == "Add additional comment") { 
0

你是否錯了。更換

if ($("#addcmt").text = "Add additional comment") 

if ($("#addcmt").text == "Add additional comment") 
0

你正在做的任務,而不是在這條線的比較:

if ($("#addcmt").text = "Add additional comment") { 

希望此相反:

if ($("#addcmt").text == "Add additional comment") { 
5

,如果你想要檢查塊是否是可見更改文本:

$(document).ready(function() { 
    $("#addcmt").click(function() { 
     var isVisible = $(".commentarea").toggle().is(":visible"); 
     $(this).text(isVisible ? "Remove comment" : "Add additional comment"); 
    }); 
}); 

即時通訊使用這個,因爲你已經擡頭#addcmt一次沒有必要真的再次找到該元素。

+0

非常感謝。 – Paramasivan