JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>
<button id="explanation-btn" class="btn" data-exp="explation-1" data-mess='["✖ explanation hidden","✓ explanation shown"]'>✓ explanation shown</button>

<span class="explanation explation-1">объяснение к примеру 1</span>

<button id="explanation-btn" class="btn" data-exp="explation-2" data-mess='["✖ explanation hidden","✓ explanation shown"]'>✓ explanation shown</button>

<span class="explanation explation-2">объяснение к примеру 2</span>

JavaScript

$(function(){
	$(document).on('click', '.btn', function(){
  	var	self = $(this),
    		messageClass = $(this).data('exp'),
        messageEl = $('.'+messageClass);

      messageEl.toggle();
    
      var isVisible = messageEl.is(':visible');
      
      self.text(self.data('mess')[+isVisible]);
      
     	/*записываем в cookie или localstorage текущий
      ** Класс messageClass
      ** Состояние isVisible
      */
      Cookies.set(messageClass, isVisible);
  })
  
  $('.btn').each(function(){
  		var self = $(this),
      		messageClass = self.data('exp');

          ((Cookies.get(messageClass) || false) == 'false') && self.click();
  })
})