Здравствуйте!
Подскажите пожалуйста как сменить текст в кнопке при клике на неё и с последующим возвратом текста после второго нажатия.
Прошу прощения за глупый вопрос, т.к. в JS я пока не разбирался.
P.S. На сайте используется фреймворк Bootstrap 4.
<button type="button" class="btn btn-outline-success" data-toggle="collapse" data-target="#services" id="show"><span>Показать всё</span></button>
const btn = document.querySelector('.btn > span');
btn.addEventListener('click', function() {
btn.innerHTML =
(btn.innerHTML === 'Показать всё') ? btn.innerHTML = 'Скрыть всё' : btn.innerHTML = 'Показать всё';
})
<button type="button" class="btn btn-outline-success" data-toggle="collapse" data-target="#services" id="show"><span>Показать всё</span></button>
И второй вариант, если кнопка не первая или не единственная....
const btn = document.querySelectorAll('.btn > span');
for (let i = 0; i < btn.length; i++) {
btn[i].addEventListener('click', function() {
this.innerHTML =
(this.innerHTML === 'Показать всё') ? this.innerHTML = 'Скрыть всё' : this.innerHTML = 'Показать всё';
})
}
<button type="button" class="btn btn-outline-success" data-toggle="collapse" data-target="#services" id="show"><span>Показать всё</span></button>
<button type="button" class="btn btn-outline-success" data-toggle="collapse" data-target="#services" id="show_2"><span>Показать всё</span></button>
<button type="button" class="btn btn-outline-success" data-toggle="collapse" data-target="#services" id="show_3"><span>Показать всё</span></button>
<button type="button" class="btn btn-outline-success" data-toggle="collapse" data-target="#services" id="show_4"><span>Показать всё</span></button>
Ответы конечно уже даны, но пришло в голову забавное решение с jQuery :)))
$('button').click(function()
{
$('span').toggle();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>
<span>Показать всё</span>
<span style="display:none">Вернуть назад</span>
</button>
Подробней о text
.
$("button").click(function() {
$(this).text(function(i, text) {
return text === "Показать всё" ? "Скрыть всё" : "Показать всё";
})
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button type="button" class="btn btn-outline-success" data-toggle="collapse" data-target="#services" id="show"><span>Показать всё</span></button>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
имеется кнопка яндекса для перевода суммы на кошелек, так же имеется кнопка публикации записи, как можно связать эти две кнопки, чтобы при...
По умолчанию в uikit accordion первая вкладка всегда открытаЕсть такой код
Для Youtube я убрала секцию неконструктивных (как это обычно бывает) комментариев этим кодом в расширении Stylish :
Обычная задача - выровнять 2 блока по центру страницыШирина блоков указана в единицах измерения vw