0

私は MVC アプリケーションを開発しており、かみそりの構文を使用しています。

このアプリケーションでは、コメント機能を提供しています。

私が使う

コメントを表示

パラ。

<p id="ClassPara" class="ShowComments" onclick="chkToggle()">Show Comments</p>

今、ユーザーが「コメントを表示」をクリックするとDiv、その div にコメントを表示します。

ここで、パラのテキストを「コメントを表示」から「コメントを非表示」に変更したいと思います。ユーザーがそのパラをクリックすると。

しかし、テキストを「コメントを非表示」に変更できません...「コメントを表示」と表示され続けます。

私のコードは....

<script src="../../Scripts/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $(".ShowComments").click(function () {
            $(".ParentBlock").slideToggle("slow");
            if ($('.ShowComments').text = "Show Comments"
            {
               $('.ShowComments').text('Hide');
            }
            else
            {
               $('.ShowComments').text('Show Comments');
            }
        });
    });
</script>
4

2 に答える 2

1

.text はプロパティではなく、メソッドです

.text("コメントを表示") または .text("コメントを非表示")

比較のために、その .text() === "コメントを表示"

コードを更新し、いくつかのエラーを修正しました。

<script src="../../Scripts/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $(".ShowComments").click(function () {
            $(".ParentBlock").slideToggle("slow");
            if ($('.ShowComments').text() === "Show Comments")
            {
               $('.ShowComments').text('Hide');
            }
            else
            {
               $('.ShowComments').text('Show Comments');
            }
        });
    });
</script>

if 条件で比較演算子ではなく代入演算子も使用しています。== または === ではない =

于 2012-09-15T06:35:22.123 に答える
1

以下のようなメソッドにコールバック関数を使用する.text()と、コーディングが容易になります。

$(document).ready(function() {
    $(".ShowComments").click(function() {

        $(".ParentBlock").slideToggle("slow");

        // here instead of .ShowComments you should use
        // this, where this refers to clicked element

        $(this).text(function(i, oldText) {
            return oldText == 'Show Comments' ? 'Hide' : 'Show Comments';
        });
    });
});​
于 2012-09-15T06:50:58.597 に答える