Проверка на наличие значения в атрибуте lang тега <html>

117
01 ноября 2019, 05:30

Всем доброго времени суток, помогите плз, не могу разобраться почему не работает условие.

Ситуация в следующем, имеется интернет магазин на 5ти языках, при переходе на любой из языков, в теге html заполняется атрибут lang соответствующий выбранному языку ru, en, lv и т.д., таким образом:

<html lang='ru'>

мне необходимо, чтобы при смене языка, и сопутствующей смене значения атрибута lang, моему div, с классом page-wrapper присваивался класс языка, пишу код:

$('document').ready(function(){
    if ($('html').attr('lang','ru')){
        $('.page-wrapper').addClass('russian');
        } 
    if ($('html').attr('lang','en')){
        $('.page-wrapper').addClass('english');
        } 
    if ($('html').attr('lang','lv')){
        $('.page-wrapper').addClass('latvian');
        } 
    if ($('html').attr('lang','lt')){
        $('.page-wrapper').addClass('lithuanian');
        } 
    if ($('html').attr('lang','et')){
        $('.page-wrapper').addClass('estonian');
        }   
});

Не работает =(

Происходит присваивание всех классов сразу

<div class='russian english latvian lithuanian estonian'>

Помогите пожалуйста, что я делаю не так?

Answer 1
if ($('html').attr('lang') == 'ru'){
  ...

и так далее.

Ваш вызов

if ($('html').attr('lang','ru')){

(и другие) проверяет результат, возвращаемый вызовом $('html').attr(...) с двумя параметрами (который, кстати говоря, устанавливает значение атрибута), на соответствие булевскому true. Так как этот результат - тот же объект-обертка $('html'), его булевское значение всегда равно true. Поэтому Ваш код добавляет все классы.

READ ALSO
Работа с com в JS

Работа с com в JS

Иногда все работает корректно, а иногда считывается только один символПри отправке данных с сенсора используется первый символ '$', а при...

100
Как дополнить запрос Mysql?

Как дополнить запрос Mysql?

Есть запрос как его дополнить?

140
Дата в mysql преобразовать

Дата в mysql преобразовать

в базе дата храниться вот так 1532360691 как мне в запросе сразу преобразовать ее в нормальную дату? так что-то не работает

126