2017-10-18 110 views
3

我有一個按鈕,其中附加了一個類,它涉及到2個函數中的一個,當我單擊頁面時,我希望按鈕的類更改爲第二個jQuery函數。jquery按鈕類更改

目前設置如下:

<button id="btn" class="func1">click</button> 

當我按一下按鈕我想func2加載,而不是func1

很抱歉的天真。

回答

0

試試這個單

$('#btn').click(function() { 
    $(this).removeClass('func1'); 
    $(this).addClass('func2'); 
}); 

或者,如果你想重複這個過程 -

$('#btn').click(function() { 
    $(this).toggleClass('func1'); 
    $(this).toggleClass('func2'); 
}); 
0

既然你問到執行基於功能在類上,然後切換類,以便第二次單擊該按鈕時,它將exe cutes另一個功能......那麼這可能會爲你工作:

當我按一下按鈕我想FUNC2加載,而不是FUNC1

$("body").on("click","#btn",function(e){ 
    if ($(this).hasClass("func1")) { 
     func2(); // execute func2 
     $(this).removeClass("func1").addClass("func2"); // toggle the classes 
    } else { 
     func1(); // execute func1 
     $(this).removeClass("func2").addClass("func1"); // toggle the classes 
    } 
}); 

你可以在地方使用$(this).toggleClass("func1 func2")$(this).removeClass("func2").addClass("func1"),但在我過去的某些情況下,切換開關被盜用,並且交換了錯誤的東西(如果某人快速點擊了,或者由於某種原因js執行在機器上陷入了僵局)。所以我喜歡使用remove和add的絕對值。