0

次のようにテキストボックスを表示するビューがあります。

  $(function() {
        $('[name="CodeGuest"]').hide();
    });

  @Html.Label("CodeGuest")

上記のコードを使用していますが、ラベルを非表示にしません。どうすればよいですか?

4

1 に答える 1

1

を使用@Html.Label("CodeGuest")すると、以下の HTML がレンダリングされます

<label for="CodeGuest">CodeGuest</label>

forしたがって、jQuery セレクターは、このような特定のプロパティ値を持つアイテムを探す必要があります

$(function() {
    $('label[for="CodeGuest"]').hide();
});

HTML属性を指定できるヘルパーメソッドの別のオーバーロードを使用して、ラベルの要素を定義することをお勧めします。Html.LabelID

 @Html.Label("CodeGuest", new { @id="codeGuest"})

これにより、ID要素を含むマークアップが提供されるため、それを使用して要素を非表示にできます。

<label id="codeGuest" for="CodeGuest">CodeGuest</label>

これで、JavaScript コードを

$(function() {
    $("#codeGuest").hide();
});

一般的なものではなく、常に特定の jQuery セレクター (クラス名の代わりに ID など) を使用するようにしてください。その方が速いです。

于 2013-03-16T12:45:02.300 に答える