2016-12-01 1 views
1

と私は<html>要素にlang属性を確認するために、次のコードを使用しています属性:私はこれが一貫して動作しないことに気付きましたテストは、jQueryの

if($("html:lang(en)")){ 
    // Do something 
} 

。たとえば、lang="fr"、または言語属性が定義されていない場合、コードはまだ実行されます。

jqueryドキュメント(https://api.jquery.com/lang-selector/)によれば、それはうまくいくはずです。どのようにこれは事実ではないのですか?最も重要なのは、どの属性を一貫して使用するのかを確認するにはどうすればよいですか?

答えて

2

$("html:lang(en)")は、jQueryオブジェクトを返すため、常にtruthy valueになります。代わりに、返されたオブジェクトのlength propertyをチェックして、要素の存在をチェックする必要があります。

if($("html:lang(en)").length){ 
    //   here --^^^^^^^^-- 
    // Do something 
} 
1

また、それが存在するかどうかを知るために[]セレクタを使用してlengthプロパティをチェックすることができ:

if ($("html[lang='en-us']").length) { 
    //do something. 
} 
関連する問題