如何在jquery中切换锚标记文本

时间:2013-04-06 05:36:44

标签: jquery

我想切换锚标记文本,我在div中有一个锚标记,当用户点击回复时,评论框打开,文本应该变为关闭,反之亦然但问题是文本变更后关闭,文本保持关闭和显示之间的切换,隐藏工作清楚......

<a id="reply" href="#">reply</a>
<div id="replyuser" style=" position:absolute;">
    <asp:TextBox ID="txt1" CssClass="txtbox" TextMode="MultiLine" runat="server"></asp:TextBox><br />
    <asp:Button ID="btnreply" Text="send" runat="server" CssClass="btn" />
</div>

jquery如下

$(document).ready(function() {
    $("#replyuser").hide();

    $("#reply").click(function() {
        $("#replyuser").toggle(function() {
            $("#reply").text("close");
        });
    });
});

2 个答案:

答案 0 :(得分:3)

尝试更换点击文字:

您处于按钮的上下文中,然后在获得点击事件时尝试使用$(this)引用它,然后切换#reply div并检查文本。如果这有文字reply,请将其更改为close

把它放在css:

#replyuser {
    display:none;
}

然后使用此脚本:

$("#reply").click(function() {
   $("#replyuser").toggle();
   ($(this).text() === "reply") ? $(this).text("close") : $(this).text("reply");
});

Final Fiddle

答案 1 :(得分:0)

    $(document).ready(function() {
                $("#replyuser").hide();

                $("#reply").click(function() {

                    $("#replyuser").toggle(function(e) {
                           $(this).is(":visible") ? $("#reply").text("close") : $("#reply").text("reply");                         
                    });

                });
            });

$(this)引用$(“#replyuser”)控件SO link并且:visible是可见控件的选择器(惊讶于:))。 所以逻辑上.is检查$(“#replyuser”)是否可见。