2

当单击以显示文本区域并将文本切换为“删除评论”时,我想创建链接“添加附加评论”。单击“删除评论”时,它应该隐藏文本区域,并且文本需要更改为“添加附加评论”。

我使用的代码是

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

文本切换不起作用。

任何帮助表示赞赏。

4

5 回答 5

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");
        }
    });
});​
于 2012-06-01T12:26:28.087 回答
5

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

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

我使用它是因为您已经查找过 #addcmt 一次,而无需再次找到该元素。

于 2012-06-01T12:31:51.190 回答
0

你有一个错误:

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

应该:

if ($("#addcmt").text() == "Add additional comment") {
于 2012-06-01T12:27:03.313 回答
0

你的如果是错误的。代替

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

if ($("#addcmt").text == "Add additional comment")
于 2012-06-01T12:27:38.360 回答
0

您正在执行分配而不是在此行中进行比较:

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

你想要这个:

    if ($("#addcmt").text == "Add additional comment") {
于 2012-06-01T12:29:17.710 回答