web-dev-qa-db-ja.com

attr = valueの場合のjQueryチェック

コードに問題があるようです。私は言う必要があります:

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

コンソールを確認すると、これは機能ではないというエラーが表示されます。ヘルプをいただければ幸いです。

おかげで、

35
beefchimi

.val()を削除するだけです。好む:

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

jQueryの attr メソッドは、属性の値を返します。

.attr()メソッドは、一致したセットの最初の要素のみの属性値を取得します。各要素の値を個別に取得するには、jQueryの.each()または.map()メソッドなどのループ構造を使用します。

あなたが必要なのは:

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

ただし、mightは、大文字と小文字を区別しない一致を行います。

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

jQueryの val メソッドは、フォーム要素の値を返します。

.val()メソッドは、主にinputselecttextareaなどのフォーム要素の値を取得するために使用されます。 _<select multiple="multiple">_要素の場合、.val()メソッドは、選択された各オプションを含む配列を返します。オプションが選択されていない場合、nullを返します。

8
zzzzBov