2017-04-06 57 views
-1

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

回答

0

$(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

0

通話功能。

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

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

我更新了我的問題。這個''' – sorvz

+0

這個問題意味着存儲當前的元素引用,在你的情況下沒有任何引用是爲什麼不工作。 –