无法在文档加载火功能

问题描述:

HTML:无法在文档加载火功能

<input class="test removeMe" type="text"> 

的jQuery:

$(function() { 
    function isEmpty() { 
     if (!$(".test").val()) { 
      $(this).removeClass("removeMe"); 
     } else { 
      $(this).addClass("addMe"); 
     } 
    } 
    isEmpty(); 
}); 

请告诉我,我在哪里错了?

我想要isEmpty在加载/重新加载时触发并检查输入是否有价值。如果没有,它将删除removeMe类。如果它有一定的价值,它会增加addMe类。

控制台是空的,我无法弄清楚为什么这不能正常工作。

更新:

很奇怪......它确实火正确警报相对,如果是空的或不是,但不添加/删除类。 https://jsfiddle.net/37tt3x72/1/

更新02

它的工作,但不完全... https://jsfiddle.net/37tt3x72/2/this是不工作...如果与目标元素替换它,比它会工作。所以问题仍然存在:为什么this不在这里工作?

+0

是否包含'的jQuery .min.js'? –

+0

告诉我们您的完整代码。你检查控制台吗? – Akshay

+0

@AtaurRahmanMunna当然可以。版本3.2.0 – sorvz

罗里McCrossan提供了巨大而翔实的答案在这里:Why "$(this)" doesn't work in the following example

而且adeneo另一个SO提问时指出/如何this作品答案:How does the "this" keyword work?

$(function() { 
 
    function isEmpty() { 
 
     if (!$(".test").val()) { 
 
      alert("Empty"); 
 
      $(this).removeClass("removeMe"); 
 
     } else {  
 
     alert("not Empty"); 
 
      $(this).addClass("addMe"); 
 
     } 
 
    } 
 
    isEmpty(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input class="test removeMe" type="text">
从功能齐全的文档

+0

我完全失去了,哈哈:)这怎么可能......并顺便说一句:你错过了';'后第一'警报'。 – sorvz

+0

但它工作... –

+0

不,这不是:)或者至少我不那么方便:)尝试实现它的样式,你会发现它不能按预期工作...但它会触发正确的警报......我不明白。 https://jsfiddle.net/37tt3x72/ – sorvz

通话功能。

function isEmpty() { 
    if (!$(".test").val()) { 
     $(this).removeClass("removeMe"); 
    } else { 
     $(this).addClass("addMe"); 
    } 
} 

$(document).ready(function(){ 
    isEmpty(); 
}); 
+0

我更新了我的问题。这个''' – sorvz

+0

这个问题意味着存储当前的元素引用,在你的情况下没有任何引用是为什么不工作。 –