jQuery切换div和切换文本

时间:2012-06-01 12:24:24

标签: jquery

我想点击“添加其他评论”链接以显示文本区域,并将文本切换为“删除评论”。单击“删除注释”时,它应隐藏文本区域,文本需要更改为“添加其他注释”。

我使用的代码是

<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>

文本切换功能无效。

感谢任何帮助。

5 个答案:

答案 0 :(得分: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");
        }
    });
});​

答案 1 :(得分:5)

如果要检查块是否可见以更改文本:

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

我正在使用这个,因为你已经查找了#addcmt,一旦无需真正再次找到该元素。

答案 2 :(得分:0)

你有一个错误:

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

应该是:

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

答案 3 :(得分:0)

你的错了。替换

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

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

答案 4 :(得分:0)

你正在进行一项任务而不是这一行的比较:

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

你想要这个:

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