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/

これはあなたを助けるでしょう!

問題は、等号ではなく代入演算子を使用していたことです==

Jクエリコード

$(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:29:17.710 に答える
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:27:03.313 に答える