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

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

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

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

спасибо,

2 ответов


просто удалить .вал.)( Например:

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

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.