2015-04-06 26 views
2

你知道爲什麼在hasClass給我Uncaught TypeError: undefined is not a function後使用removeClass嗎?hasClass無法正常工作後刪除類別

在下面的代碼,警報將不被執行,因爲它上面的代碼產生一個錯誤..

$("input[type='button']").hasClass("scroll").removeClass("inactive"); 
 
alert("success");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

任何人可以提供其他的方式來實現我的目標?

+3

hasclass()返回布爾值,而不是jQuery對象 – Tommi 2015-04-06 08:56:33

+0

@Tommi爲什麼不張貼一個答案?」 – 2015-04-06 08:58:15

回答

6

hasClass jQuery的返回布爾值,其不具有removeClass方法。在你的情況下,更好的做法是把類選擇內部$呼叫

$("input[type='button'].scroll").removeClass("inactive"); 
+0

採取upvote。這比檢查然後執行要好 – 2015-04-06 09:03:42

5

.hasClass檢查與如果條件則返回布爾

if($("input[type='button']").hasClass("scroll")){ 
    $("input[type='button']").removeClass("inactive") 
} 
+0

對不起,但這與op問的內容不一樣。它會從所有輸入類型的按鈕中刪除「非活動」類,如果任何它有類「滾動」。另外,它不是最優的,因爲你執行'$(「input [type ='button']」)'查找兩次。 – Tommi 2015-04-06 09:08:35