我想切换锚标记文本,我在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");
});
});
});
答案 0 :(得分:3)
尝试更换点击文字:
您处于按钮的上下文中,然后在获得点击事件时尝试使用$(this)
引用它,然后切换#reply
div并检查文本。如果这有文字reply
,请将其更改为close
。
#replyuser {
display:none;
}
$("#reply").click(function() {
$("#replyuser").toggle();
($(this).text() === "reply") ? $(this).text("close") : $(this).text("reply");
});
答案 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”)是否可见。