Одним из способов сделать это является предоставление функции для html()
, которая проверяет, что является текущим контентом, и возвращает новый контент на основе этого, что-то вроде этого:
$("#changeArrow").click(function() {
$(this).html((i, h) => h == 'This is some text! ⊕' ? 'This is some text! ×' : 'This is some text! ⊕');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="changeArrow">This is some text! ⊕</button>
Однако, поскольку все, что вы делаете, это смена значка, это может быть сделано даже проще, если вы добавите значок с помощью CSS. Тогда вы можете просто переключать класс на каждый клик:
$("#changeArrow").click(function() {
$(this).toggleClass('close');
});
#changeArrow:after {
content: '⊕';
margin: 0 -1px 0 4px;
display: inline-block;
}
#changeArrow.close:after {
content: '×';
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="changeArrow">This is some text!</button>