Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.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 无法在我的条件函数中选择“this”_Javascript_Jquery_This - Fatal编程技术网

Javascript 无法在我的条件函数中选择“this”

Javascript 无法在我的条件函数中选择“this”,javascript,jquery,this,Javascript,Jquery,This,以下函数运行良好,但我无法选择此元素。怎么了 $('.req').each(function(){ if ($("input").attr("data-validation-engine","validate[required]") && $("input").val().length === 0) { $(this).addClass("warning"); } }); 好的,正如评论中所说的,没有进一步的上下文,这是非常模糊的。但是,假设您希

以下函数运行良好,但我无法选择此元素。怎么了

$('.req').each(function(){
    if ($("input").attr("data-validation-engine","validate[required]") && $("input").val().length === 0) {
       $(this).addClass("warning");
    } 
});

好的,正如评论中所说的,没有进一步的上下文,这是非常模糊的。但是,假设您希望向符合条件的所有输入添加类警告,我怀疑您需要执行以下操作:

$'input'。每个函数{ 如果$this.attrdata验证引擎,请验证[必需]&&&$this.val.length==0 $this.addClasswarning; }; 例如:

$document.ready=>{ $'input'。每个函数{ 如果$this.attr'type'=='number' $this.addClasswarning; }; }; .警告{ 颜色:红色; }
若您试图在数据验证引擎属性设置为validate[required]的情况下将警告类添加到所有空输入中,则可以使用以下代码

它选择具有正确属性和值的所有输入。然后它过滤结果,留下空的匹配输入。然后将警告类添加到这些输入中

$("input[data-validation-engine='validate[required]']").filter(function() {
    return !this.value.length;
}).addClass("warning");​

如果条件没有作用域,那么它将引用包含if的任何块的作用域。鉴于您显示的代码示例有限,我们无法提供更多帮助。如果没有示例,很难说什么是错误的等待,因此您希望将类警告添加到符合条件的输入中?还要注意$input.ATRRATA验证引擎,validate[必需]是一个setter,它将返回jQuery对象,因此在if条件中总是强制为true。因此,逻辑本身是有缺陷的。我只是用一些更具体的范围更新了代码。