删除除某些类之外的所有元素的属性禁用

发布于 2025-01-03 21:23:51 字数 183 浏览 1 评论 0原文

我这样做是为了用只读替换禁用的属性,我想知道是否可以对某些类不这样做。我想添加类似“如果输入没有类 x 执行操作”的内容

$('input[type=text][disabled="disabled"]').removeAttr("disabled").attr("readonly", true);

I have this in order to replace attribute disabled with readonly and I want to know if it is possible to not do that for some classes. I want to add something like "if the input does not have class x do action"

$('input[type=text][disabled="disabled"]').removeAttr("disabled").attr("readonly", true);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

把梦留给海 2025-01-10 21:23:51

您可以使用 not 方法从匹配集中排除元素:

$('input[type=text][disabled="disabled"]').not(".someClass").removeAttr("disabled").attr("readonly", true);

或者,您可以使用 :not 伪选择器,但作为文档指出,“在大多数情况下,.not”方法更好案”。

作为旁注,您可能应该使用 prop 方法而不是attr,因为 disabledreadonly 都是 DOM 属性。

You can use the not method to exclude elements from the matched set:

$('input[type=text][disabled="disabled"]').not(".someClass").removeAttr("disabled").attr("readonly", true);

Alternatively, you could use the :not pseudo-selector, but as the documentation states, the .not method is better "in most cases".

As a side note, you should probably be using the prop method rather than attr, since both disabled and readonly are DOM properties.

梦忆晨望 2025-01-10 21:23:51

使用 :not(.x) 伪选择器。

$('input[type=text][disabled="disabled"]:not(.x)')
.removeAttr("disabled").attr("readonly", true);

你可以像这样简化它。

$('input:text:disabled:not(.x)')
.removeAttr("disabled").attr("readonly", true);

Use :not(.x) pseudo selector.

$('input[type=text][disabled="disabled"]:not(.x)')
.removeAttr("disabled").attr("readonly", true);

You can simplify it like this.

$('input:text:disabled:not(.x)')
.removeAttr("disabled").attr("readonly", true);
怪我闹别瞎闹 2025-01-10 21:23:51
$('input[type=text][disabled="disabled"][class!="yourClass"]').removeAttr("disabled").attr("readonly", true);

应该还可以工作

$('input[type=text][disabled="disabled"][class!="yourClass"]').removeAttr("disabled").attr("readonly", true);

Should also work

猫腻 2025-01-10 21:23:51

使用 not() 和 prop() 应该可以做到;

$('input[type="text"]:disabled').not('.className')
    .prop('disabled', false).prop('readonly', true);

请参阅禁用选择器not()prop()

Using not() and prop() should do it;

$('input[type="text"]:disabled').not('.className')
    .prop('disabled', false).prop('readonly', true);

See the disabled selector, not() and prop().

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文