Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 输入字段.val()的此值不是函数_Javascript_Jquery - Fatal编程技术网

Javascript 输入字段.val()的此值不是函数

Javascript 输入字段.val()的此值不是函数,javascript,jquery,Javascript,Jquery,我使用jquery代码检查给定输入上的任何值,然后如果输入有值,则添加一个简单类 但在控制台中,我收到一个错误,即.val()不是函数 我的代码是: $.fn.tkFormControlMaterial = function(){ this .blur(function () { if (this.val()) this.addClass('used');

我使用jquery代码检查给定输入上的任何值,然后如果输入有值,则添加一个简单类

但在控制台中,我收到一个错误,即.val()不是函数

我的代码是:

$.fn.tkFormControlMaterial = function(){
        this
            .blur(function () {
                if (this.val())
                    this.addClass('used');
                else
                    this.removeClass('used');
            })
            .after('<span class="ma-form-highlight"></span><span class="ma-form-bar"></span>');
    };
$.fn.tkFormControlMaterial=函数(){
这
.blur(函数(){
if(this.val())
this.addClass('used');
其他的
this.removeClass('used');
})
.在('')之后;
};
bind会让你自由

$.fn.tkFormControlMaterial = function(){
        this
            .blur(function () {
                if (this.val())
                    this.addClass('used');
                else
                    this.removeClass('used');
            }.bind(this))
            .after('<span class="ma-form-highlight"></span><span class="ma-form-bar"></span>');
    }.bind(this);
$.fn.tkFormControlMaterial=函数(){
这
.blur(函数(){
if(this.val())
this.addClass('used');
其他的
this.removeClass('used');
}.绑定(本)
.在('')之后;
}.约束(本);

您也可以尝试使用“自我”模式

var _self = this;
$.fn.tkFormControlMaterial = function(){
        _self
            .blur(function () {
                if (_self.val())
                    _self.addClass('used');
                else
                    _self.removeClass('used');
            })
            .after('<span class="ma-form-highlight"></span><span class="ma-form-bar"></span>');
    };
var\u self=this;
$.fn.tkFormControlMaterial=函数(){
_自我
.blur(函数(){
if(_self.val())
_self.addClass('used');
其他的
_self.removeClass('used');
})
.在('')之后;
};
我找到了解决方案

如果任何人需要上面我自己的代码的工作示例:

$.fn.tkFormControlMaterial = function(){
        $(this)
            .blur(function () {
                if ($(this).val())
                    $(this).addClass('used');
                else
                    $(this).removeClass('used');
            })
            .after('<span class="ma-form-highlight"></span><span class="ma-form-bar"></span>');
    };
$.fn.tkFormControlMaterial=函数(){
$(本)
.blur(函数(){
if($(this.val())
$(this.addClass('used');
其他的
$(this.removeClass('used');
})
.在('')之后;
};

噢。你需要更多的束缚。绑定绑定。我编辑了我的回答,然后你需要在你的问题中包含更多的上下文。这似乎也是2015年以来我尝试使用的一些HTML模板中的一个问题,多亏了你的自我回复,我才能够解决它