在第二次单击同一div时将文本添加到伪元素

时间:2017-07-14 22:11:27

标签: javascript jquery html css

我有一个非常基本的功能,通过向其添加一个类来显示div :after的{​​{1}}。

我想要实现的是,从第二次点击开始,onclick将从" THIS"到"和这个"

任何暗示?
谢谢!



:after

$(document).on("click","#click",function(){$("#logo").addClass("open")});

#click{cursor:pointer}
#logo.open:after{content:" THIS"}




1 个答案:

答案 0 :(得分: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>
&#13;
&#13;
&#13;