[英]Change text back and forth on button click
這有點遺漏了一些關於元素文本已經被突變后如何變回原來的理解?
$('.target').click(function() { if($(this).hasClass('clicked')) { $(this).text('ORIGINAL').toggleClass('clicked'); } $(this).text('CLICKED').toggleClass('clicked'); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> <a class='target'>ORIGINAL</a>
您可以將原始文件存儲在jQuery的數據存儲中,然后將其取回
$('.target').each(function() { $(this).data('original', $(this).text()); }).on('click', function() { $(this).toggleClass('clicked').text(function(_, txt) { var org = $(this).data('original'); return txt === org ? 'CLICKED' : org; }); });
.clicked {color: red}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="target">Click</div> <br/> <div class="target">Click</div> <br/> <div class="target">Click</div> <br/> <div class="target">Click</div> <br/> <div class="target">Click</div> <br/>
每次單擊都會觸發最后一行代碼。 並將文本設置為CLICKED 。
您只需要使用else
語句。
$('.target').click(function() { if($(this).hasClass('clicked')) { $(this).text('ORIGINAL').toggleClass('clicked'); } else { $(this).text('CLICKED').toggleClass('clicked'); } });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> <a class='target'>ORIGINAL</a>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.