14

如何使用 jQuery 禁用标签?我试过了:

$('#some-id').prop('disabled', true);

但它没有变灰。

我的 HTML 是:<label for="some-id">Label Here</label><input id="some-id"/>

4

4 回答 4

18

labels没有内置的禁用属性。您需要添加一个类来自己禁用它们。

就像是:

.disabled {
   color: darkgrey;
   background-color: grey;
}

并将类添加到您的元素:

$('#some-id').addClass('disabled');
于 2013-07-09T15:45:09.793 回答
6

要禁用标签,请禁用与其关联的表单控件。

不过,这不会改变标签的外观,因为您必须更改适用于它的 CSS。最好通过从元素中添加(或删除)一个类(并具有与该类匹配的预先存在的 CSS 规则集)来完成。

于 2013-07-09T15:45:39.013 回答
1

您可以禁用这样的输入:

$("#test").attr("disabled", "disabled");

应该注意的是,您不能禁用标签,因为它不接受任何输入。如果您希望它看起来被禁用,您可以考虑将文本的颜色更改为灰色。

$("#test").css("color", "#666");
于 2013-07-09T15:45:34.930 回答
0

当您禁用输入时,您应该在标签中添加一个禁用的类。如果您想将所有代码保存在同一个位置,您可以这样做:

$('#some-id, [for="some-id"]').prop('disabled', true).addClass('disabled');

工作JSFiddle 示例

于 2013-07-09T15:53:15.070 回答