Ответ 1
Просто удалите .val(). Как:
if ( $('html').attr('lang') == 'fr-FR' ) {
// do this
} else {
// do that
}
Кажется, у меня проблемы с моим кодом. Мне нужно сказать:
if ( $('html').attr('lang').val() == 'fr-FR' ) {
// do this
} else {
// do that
}
Когда я проверяю консоль, я просто получаю сообщение об ошибке, говоря, что это не функция. Помощь будет оценена.
Спасибо,
Просто удалите .val(). Как:
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
.