javascript – 在jquery中检查一些输入类型文件是否为空的更好方法?

前端之家收集整理的这篇文章主要介绍了javascript – 在jquery中检查一些输入类型文件是否为空的更好方法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道这是一个简单的问题,但需要有经验的人的建议.

我有3个输入类型的文件,如:

<input type="file" name="1-files" />
<input type="file" name="2-files" />
<input type="file" name="3-files" />

我选择所有输入(在我的页面上我也有其他输入类型的文件)哪个名称以“-files”结尾(我在Google Chrome控制台中写道):

$("input[type='file'][name*='-files']").length

好.我选择一个文件使用1文件输入.之后,我在Google Chrome控制台中运行以下代码

$("input[type='file'][name*='-files']:empty").length

我希望是2,但出现3.

你能告诉我为什么吗 ?

我想获取输入类型文件的所有元素哪些值是空的.我用简短的方式选择器:空,但似乎不能正常工作.

当然可以用

var empty_count = 0;
$.each($("input[type='file'][name*='-files']"),function(k,v){
  if($(this).val() === '')
     empty_count++;
});

但是,我想要最短的方式来做这个没有$.

谢谢

解决方法

它匹配三个,因为:空匹配一个没有后代的元素,并且根据定义的输入元素不能有后代(因此都是空的,因此匹配:空选择器).

要找到没有选定文件的元素,我建议:

$("input[type='file'][name*='-files']").filter(function (){
    return !this.value
}).length;

参考文献:

> :empty selector.
> filter().

原文链接:https://www.f2er.com/jquery/153628.html

猜你在找的jQuery相关文章