在 jQuery 的另一个方法中的一个方法中使用 $(this)

Using $(this) at a method inside another method in jQuery

因此,我尝试在另一个方法中的一个方法中使用 'this' 选择器,例如:

$('form').submit(function(event){
   $('input').each(function(){
       if($(this).val().length < 2){
           $(this).addClass('error');
           event.preventDefault(); 
       }
   });
});

当我这样做时,我认为它会接受 'this' 作为每个输入,但不, 'this' 选择器与表单相关联。我知道,因为结果是:

<form class="error" action="lorem.php" method="post">
    <input type="text" placeholder="Lorem Ipsum" name="example">
</form>

这只是一个示例,用于说明当我提交表单时,class 'error' 转到 'form' 标记。

我想知道如何在 'each' 方法中调用每个 'input',因为 'this' 似乎不起作用。

我希望我在这里表达了我的观点,如果有人需要更多解释请告诉我。

非常感谢!

您需要将索引和元素发送到您的函数。

$('form').submit(function(event){
   $('input').each(function(index, element){
       if($(element).val().length < 2){
           $(element).addClass('error');
           event.preventDefault(); 
       }
   });
});