0

我有一个显示如下文本框的视图:

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

  @Html.Label("CodeGuest")

我在上面的代码中使用过,但没有隐藏标签。我该怎么办?

4

1 回答 1

1

当您使用@Html.Label("CodeGuest")时,它将呈现以下 HTML

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

因此,您的 jQuery 选择器应该像这样查找具有特定for属性值的项目

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

我建议您使用另一个重载Html.Label辅助方法,您可以在其中指定 HTML 属性,从而ID为标签定义一个元素。

 @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 回答