使用jQuery测试html lang属性

时间:2016-12-01 19:30:35

标签: javascript jquery html lang

我正在使用以下代码检查lang元素上的<html>属性:

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

我注意到这不能持续发挥作用。例如,当lang="fr"时,或者没有定义语言属性时,代码仍然会被执行。

根据jquery文档(https://api.jquery.com/lang-selector/),它应该可行。怎么不是这样的?最重要的是:如何以一致的方式检查使用哪个lang属性?

2 个答案:

答案 0 :(得分:3)

$("html:lang(en)")总是truthy value,因为它返回一个jQuery对象。相反,您需要检查返回对象的length property以检查元素是否存在。

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

答案 1 :(得分:1)

您还可以使用[]选择器并检查length属性以了解它是否存在:

if ($("html[lang='en-us']").length) {
    //do something.
}