@krll-k

Как бы сделать так, чтобы по по клику на элемент язык менялся с eng на ru и обратно(toogle), использую data-value атрибут для хранения?

У меня есть элемент dom 'p' с атрибутами data:

<p data-lang-ru="Сервис позволяет ...." data-lang-eng="The service allows ...."></p>

Пытаюсь сделать i18n с помощью data-value:
$('p').click(function(e){
var eng = $(this).attr('data-lang-eng');
var ru = $(this).attr('data-lang-ru');
console.log(eng);
var lang = 'eng'; 
$(this).html(eng);
});

.. по клику на элемент языке должен менялся с eng на ru и обратно, - но этого не происходит, потому что либо я туплю либо плохо знаю javascript.

В любом случаи, простите мою неопытность, и помогите, - не знаю как реализовать, - в чем моя ошибка?
  • Вопрос задан
  • 2277 просмотров
Решения вопроса 2
web-craft
@web-craft
Директор, Web-Craft Studio
$('p').click(function(e){
var eng = $(this).attr('data-lang-eng');
var ru = $(this).attr('data-lang-ru');
if (eng==$(this).html()){
  $(this).html(ru);
}
else {
  $(this).html(eng);
}
});
Ответ написан
Комментировать
@IoannGrozny
Front-end разработчик
У вас всё работает, но вы только устанавливаете английский язык, на русский вы его уже не меняете.
я бы реализовал это сменой класса у элемента. Вот так, например.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы