0

アンカータグのテキストを切り替えたいのですが、div 内にアンカータグがあり、ユーザーが返信をクリックすると、コメントボックスが開き、テキストが閉じるように変更され、その逆も同様ですが、テキストが閉じて変更された後、テキストが閉じたままになることが問題です表示と非表示の nd トグルは明確に機能します...

<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");
        });
    });
});
4

2 に答える 2

3

クリック時にテキストを置き換えてみてください:

ボタンのコンテキストにあり$(this)、クリックイベントを取得したときにそれを参照してから、#replydivを切り替えてテキストを確認してください。これにテキストがある場合は、にreply変更しcloseます。

これをcssに入れます:

#replyuser {
    display:none;
}

次に、このスクリプトを使用します。

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

ファイナルフィドル

于 2013-04-06T05:42:44.970 に答える
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 リンクへの参照であり、:visible は可視コントロールのセレクターです (驚いた:))。したがって、論理的に .is は $("#replyuser") が表示されているかどうかをチェックします。

于 2013-04-06T05:40:12.647 に答える