jQuery:向不起作用的函数传递参数

jQuery: passing argument to a function not working

本文关键字:参数 函数 不起作用 jQuery      更新时间:2023-09-26

我在jQuery:中向简单函数传递参数时遇到问题

当功能直接连接到元素时,一切正常。

 $companyNameInputs.bind('blur keyup',function(){
    if ($(this).hasClass('required')) {
        if (this.value == ''){
            $(this).addClass('inputError');
        }else {
            $(this).removeClass('inputError');
        }
    }
}); 

但是当我想把这个简单的检查声明为一个不同的函数时,它不起作用:

这是我的功能:

 var standardCheck = function($param){
    $param.addClass('inputError');
    if ($param.hasClass('required')) {
        if ($.trim($param).value == ''){
            $param.addClass('inputError');
        }else {
            $param.removeClass('inputError');
        }
    }
};

我就是这样称呼它的:

  $companyNameInputs.bind('blur keyup',function(){
    standardCheck($(this));
});

变量声明:

  var $companyNameInputs = $("#companyName")

和HTML:

 <div>
     <p>
            <input class="text_input" type="text" id="companyName" name="companyName" value="" />
     </p>   
 </div>

请帮忙。

由于param是一个jQuery容器,您必须调用.val()并修剪其输出:

   if ($.trim($param.val()) == ''){

或者获取对应的DOM元素及其value属性。

   if ($.trim($param[0].value) == ''){