Задать вопрос
@v-orlov

Как правильно будет выглядеть jquery скрипт со сменой текста в блоке по клику?

вот такой у меня html. просто ссылка а внутри текст. по клику на ссылку по очереди должен меняться текст. но у меня ничего не работает.
пытаюсь сравнить сохраненную строку с текстом номер 2 и 3, и если они не совпадают, то оставляем только 1ый текст. и тд по кругу - если стоит второй текст, то ставим третий, если стоит третий ставим первый.
как-то бредово я делаю. как правильно сделать не пойму.
если

<a href="" class="clickMe">
<span class="wow">Текст первый</span>
</a>


$('.clickMe').click(function() {
        event.preventDefault();
        var getTitle = $(this).find('.wow').text();  // запомнили содержимое строки

        var secondTitle = $(this).find('.wow').text('Второй текст');
        var thirdTitle = $(this).find('.wow').text('Третий текст');

        if (getTitle == secondTitle || getTitle == thirdTitle ) {
            $(this).find('.changed-title').text('Текст первый');
        };
    });
  • Вопрос задан
  • 472 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 2
@lega
То же самое что и у AlexRas только проще: jsfiddle.net/lega911/vh4omet4

инфо: https://habrahabr.ru/post/272125/
Ответ написан
DeLaVega
@DeLaVega
Верстаю, фронтэндю =)
Лучше текст не держать в js. Сделайте

<a href="" class="clickMe">
<span class="wow-1">Текст первый</span>
<span class="wow-2">Текст второй</span>
</a>


.clickMe .wow-1 {}
.clickMe .wow-2 { display: none;}
.clickMe.active . wow-1 { display: none;}
.clickMe.active . wow-2 { display: inline;}


$('.clickMe').click(function(event) {
        event.preventDefault();
       $(this).toggleClass("active");
    });


Всё.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы