本文介绍了为什么.every()不是函数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 我收集了一个Array(我认为)所需的表单元素,并添加了'blur'监听器。I've gathered an Array (I think) of required form elements, and have added 'blur' listener. var formInputs = $(':input').filter('[required]'); formInputs.each(function(i) { $(this).on('blur', function() { // Each time we leave a 'required' field, check to see if we can activate the 'submit' button. submitEnabler(formInputs); }); });因此,一旦有人离开其中一个字段,我想使用.every运行此数组()并检查字段是否有效 - 即他们是否有我已定义的'成功'类。So, once someone has left one of these fields, I want to run through this array using .every() and check if the fields are valid - that is if they have a 'success' class that I have defined.function isValid(input) { return input.hasClass('is_glowing_success');}function submitEnabler(inputs) { console.log(inputs.every(isValid));}我一直回来:Uncaught TypeError: inputs.every is not a function at submitEnabler现在,我可以这样做...Now, I could do something like this...for (var i = 0; i < inputs.length; i++) { if ($(inputs[i]).hasClass('is_glowing_success')) { console.log('yes'); } else { console.log('no'); } }但是,为什么我不能使用: Array.Prototype.every() ?But, why can't I just use: Array.Prototype.every() ?推荐答案 jQuery没有 .every()方法。 .every 定义在 Array.prototype 。jQuery does not have a .every() method. .every is defined at Array.prototype.您可以使用 .toArray()将jQuery对象转换为。 .every中的数组 ()回调函数将当前 DOM 元素传递给 jQuery()以获取jQuery对象表示元素的位置 .hasClass()可以链接。You can use .toArray() to convert jQuery object to an Array, within .every() callback function pass current DOM element to jQuery() to get jQuery object representation of element where .hasClass() can be chained.function submitEnabler(inputs) { console.log(inputs.toArray().every(isValid));}function isValid(input) { return $(input).hasClass('is_glowing_success');} 这篇关于为什么.every()不是函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
08-22 12:55