Подтвердить что ты не робот

JQuery проверить, если attr = значение

Кажется, у меня проблемы с моим кодом. Мне нужно сказать:

if ( $('html').attr('lang').val() == 'fr-FR' ) {
    // do this
} else {
    // do that
}

Когда я проверяю консоль, я просто получаю сообщение об ошибке, говоря, что это не функция. Помощь будет оценена.

Спасибо,

4b9b3361

Ответ 1

Просто удалите .val(). Как:

if ( $('html').attr('lang') == 'fr-FR' ) {
    // do this
} else {
    // do that
}

Ответ 2

jQuery attr метод возвращает значение атрибута:

Метод .attr() получает значение атрибута только для первого элемента в согласованном наборе. Чтобы получить значение для каждого элемента отдельно, используйте конструкцию цикла, такую ​​как метод jQuery .each() или .map().

Все, что вам нужно, это:

$('html').attr('lang') == 'fr-FR'

Однако вам может потребоваться выполнить нечувствительность к регистру:

$('html').attr('lang').toLowerCase() === 'fr-fr'

jQuery val метод возвращает значение элемента формы.

Метод .val() в основном используется для получения значений элементов формы, таких как input, select и textarea. В случае элементов <select multiple="multiple"> метод .val() возвращает массив, содержащий каждый выбранный параметр; если параметр не выбран, он возвращает null.