我想点击“添加其他评论”链接以显示文本区域,并将文本切换为“删除评论”。单击“删除注释”时,它应隐藏文本区域,文本需要更改为“添加其他注释”。
我使用的代码是
<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>
文本切换功能无效。
感谢任何帮助。
答案 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") {