无法为输入类型文件添加 jquery 类

Posted

技术标签:

【中文标题】无法为输入类型文件添加 jquery 类【英文标题】:unable to add jquery class for input type file 【发布时间】:2019-06-10 03:19:50 【问题描述】:

这是我的 html 元素。我正在尝试为此添加 btn disabled 类,但它没有被添加。

$('input[type="file"]').addClass("btn disabled");
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input multiple="multiple" type="file" name="file" style="position: absolute; right: 0px; top: 0px; font-family: Arial; font-size: 118px; margin: 0px; padding: 0px; cursor: pointer; opacity: 0;">

【问题讨论】:

嘿帕特里夏。如果您右键单击您的不可见文件输入并选择Inspect...,您会注意到它实际上有class="btn disabled"。您与我们分享的示例运行良好。您在控制台中有任何错误吗?也许是 jQuery 404 或类似的东西? 这是正确的代码。您如何验证这不是被添加的?内联属性将取代您的类名中的那些。删除内联样式并验证。 @Cue 我检查了代码,但没有添加该类 它在那里 @patricia 在您的实际页面中,您的 jQuery 代码是否在 &lt;head&gt; 中?还是在&lt;body&gt; 的末尾?它是否在另一个函数内,如$(document).ready( ... )?如果您按F12,您的控制台会显示任何错误吗?您与我们分享的示例完美运行,因此如果没有更多信息,我们真的无能为力。这就像给修理工带来一辆全新的汽车,然后问他回家的车出了什么问题。 【参考方案1】:

要停用输入[type="file"],您应该像这样添加属性“disabled”:

$('input[type="file"]').attr("disabled", "");

【讨论】:

【参考方案2】:

您询问是否向您的输入添加类 btn disabled。您包含的代码正是这样做的。

但是,您随后在其他地方的评论中澄清了:

我想禁用浏览按钮,就是这样,但它不起作用

添加一个“禁用”的只是为了样式或识别目的。从功能上讲,它不会禁用任何东西。

要禁用输入,您必须添加属性“禁用”。

为此,您可以使用 jQuery 的.attr():

$('input[type="file"]').attr("disabled", "");
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="file" name="file">

【讨论】:

以上是关于无法为输入类型文件添加 jquery 类的主要内容,如果未能解决你的问题,请参考以下文章

输入类型文件无法使用 bootstrapvalidator 进行验证

Jquery 类选择器无法选择使用 .append() 添加的新类实例

如何使用jQuery在弹出窗口中预览输入类型=“文件”中的选定图像? [复制]

在动态链接库中导出界面类

HTML+jQuery实现动态添加<input>输入框

使用 jQuery 将删除的文件添加到文件输入