仅在启用了javascript时隐藏Label元素

时间:2013-03-16 12:35:59

标签: asp.net-mvc-3

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

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

  @Html.Label("CodeGuest")

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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

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

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

这将为您提供带有ID元素的标记,以便您可以使用它来隐藏元素。

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

现在你的javascript代码可以

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

总是尝试使用 SPECIFIC jQuery选择器(ID而不是类名等)而不是泛型。那更快。