2017-07-14 7 views
2

クラスを追加することによって:afterのdiv onclickを示す非常に基本的な機能があります。同じdivの2回目のクリックで擬似要素にテキストを追加

私が達成したいすべてが第二の上をクリックし、ということで、:afterは「THIS」の「AND THIS」

任意のヒントから変更するのでしょうか?
ありがとうございます!

$(document).on("click","#click",function(){$("#logo").addClass("open")});
#click{cursor:pointer} 
 
#logo.open:after{content:" THIS"}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="click">CLICK HERE</div><br> 
 
<div id="logo">SHOT</div>

+0

あなたが上書きされ、新しいクラスを追加することができます擬似要素の内容を直接操作することはできませんが、あなたはhav eコンテンツは代わりにデータ属性を参照し、それを操作します。https://stackoverflow.com/questions/5041494/selecting-and-manipulating-css-pseudo-elements-such-as-before-and-after-usin – Jeremy

答えて

3

あなたは要素が.openを持っているかどうかをチェックし、もしそうであれば、::afterコンテンツ

var $logo = $('#logo'); 
 
$(document).on("click","#click",function(){ 
 
    if ($logo.hasClass('open')) { 
 
    $logo.addClass('and'); 
 
    } else { 
 
    $logo.addClass('open'); 
 
    } 
 
});
#click{cursor:pointer} 
 
#logo.open::after{content:" THIS"} 
 
#logo.and::after{content:" AND THIS"}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="click">CLICK HERE</div><br> 
 
<div id="logo">SHOT</div>

関連する問題