正在寻找“与 javascript 中的某些方法等效”和“如果在数组中则仅返回一个值”,但只看到了确定变量类型的方式的答案,或者有太多不必要的答案。
我绕过 html 中的所有输入,我想要这样的东西:
$('#goodsFilter')
.find('input[type="number"]')
.some(function(i,el){
return (isNumber($(el).val())) ? 1 : 0;
});
但它会抛出一个错误:
“TypeError:‘未定义’不是函数”(例如 Safari 6.0.4)。
UPD:错误来自最后一行,是的,在哪里});
。
是编号:
function isNumber(n) { return !isNaN(parseFloat(n)) && isFinite(n); }
这应该检查每个输入信息是否存在,如果至少其中一个不为空,则返回 1,否则返回 0。
如何替换它以在大多数现代浏览器中工作?
UPD:问题解决了。我在选择答案时有点困惑。 @RobG实现的代码.some()
对于初学者(我也是)来说更容易理解,所以我改变了我的投票。
对于访问此线程的其他人,您可以使用some()
在 jQuery 对象上这样:
$.makeArray($(...)).some(function(x) { ... })
jQuery.makeArray()
将 jQuery 对象转换为数组,因此您可以使用some()
on it.
根据@alf-eaton的建议,您可以使用:
$(…).toArray().some(function(node) { … })
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)