无法为输入类型文件添加 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 代码是否在 <head>
中?还是在<body>
的末尾?它是否在另一个函数内,如$(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() 添加的新类实例