2015-12-19 65 views
-1

我試圖從任何地方刪除類e是否存在。jquery從任何地方刪除類是否存在

欲瞭解更多詳情,請查看我的代碼:https://jsfiddle.net/gf4a27nn/1/

HTML

<div id="a"> 
    <button class="b d">button</button> 
</div> 
<div id="c" class="d">content</div> 
<div id="f">content2</div> 

JQuery的

$(function() { 
    $("button.b").on("click", function() { 
    $(".d").addClass("e"); 
    }) 

    $(".e").on("click", function() { 
    $(".d").removeClass("e"); 
    }) 
}) 
+0

在CSS中,如果您希望樣式適用於這兩個類,則'.d.e {}'應該是:'.d,.e {}'。添加後,可能需要切換到'.bind()'以移除'e'類。或者在第一次點擊時,搜索「e」課並將其刪除。也可以使用'.toggle()' – Twisty

+0

由於某種原因,我不能做$(「。e」)。on(「click」,function(){alert(「hi」)})「 –

回答

3

要到處刪除類e它存在,使用:

$('.e').removeClass('e'); 
+0

thx,但問題是(「click」,function(){alert(「hi」)})「 –

0

見的工作就是我評論了關於例如:https://jsfiddle.net/Twisty/gf4a27nn/2/

JQuery的

$(function() { 
    $("button.b").on("click", function() { 
    if ($(".e").length) { 
     $(".e").removeClass("e"); 
    } else { 
     $(".d").addClass("e"); 
    } 
    }) 
}) 
+0

當我點擊content1」id = c「時,不會發生這種情況。 –

0

您在onclick事件僅添加 '.E'。 jquery無法找到你的屬性。所以,你應該使用像「div#a button.e」。

$(function() { 
    $("button.b").on("click", function() { 
    //remove this line. because you are having class 'd' for button and div 
    //$(".d").addClass("e"); 
    // to addClass 'e' for button use below code, 
    $(this).addClass("e"); 
    }) 

    // now use onclick function for class 'e' 
    $("div#a button.e").on("click", function() { 
    alert("button class removal"); 
    $(this).removeClass("e"); 
    }) 

}) 
相關問題