正在寻找“等效于 javascript 中的某些方法”和“如果在数组中则只返回一个值”,但只看到了确定变量类型或太多不必要的方式的答案。
我绕过 html 中的所有输入,我想要这样的东西:
$('#goodsFilter')
.find('input[type="number"]')
.some(function(i,el){
return (isNumber($(el).val())) ? 1 : 0;
});
但是它抛出一个错误:
"TypeError: 'undefined' is not a function" (eg. Safari 6.0.4).
UPD:错误来自最后一行,是的,});
。
是编号:
function isNumber(n) { return !isNaN(parseFloat(n)) && isFinite(n); }
这应该检查每个输入信息是否存在,如果至少有一个不为空,则返回 1,否则返回 0。 我如何替换它以在大多数现代浏览器中工作?
更新:
问题解决了。我在选择答案时有点困惑。 @RobG 实现 .some()
的代码对于初学者(我也是)更容易理解,所以我改变了我的投票。
最佳答案
对于来到这个线程的任何其他人,您可以通过这种方式在 jQuery 对象上使用 some()
:
$.makeArray($(...)).some(function(x) { ... })
jQuery.makeArray()
将 jQuery 对象转换为数组,因此您可以在其上使用 some()
。
正如@alf-eaton 所建议的,您可以使用:
$(…).toArray().some(function(node) { … })
关于javascript - 在 javascript 或 jquery 中等效于方法 .some()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16270553/