Javascript 用jQuery测试htmllang属性

Javascript 用jQuery测试htmllang属性,javascript,jquery,html,lang,Javascript,Jquery,Html,Lang,我使用以下代码检查元素上的lang属性: if( $("html:lang(en)") ){ // Do something } 我注意到这并不总是有效的。例如,当lang=“fr”或未定义语言属性时,代码仍会执行 根据jquery文档(),它应该可以工作。为什么不是这样?最重要的是:如何检查以一致的方式使用了哪个lang属性?由于返回jQuery对象,$(“html:lang(en)”)将始终是一个。相反,您需要检查返回的对象以检查元素是否存在 if($("html:lang(en)")

我使用以下代码检查
元素上的
lang
属性:

if( $("html:lang(en)") ){
  // Do something
}
我注意到这并不总是有效的。例如,当
lang=“fr”
或未定义语言属性时,代码仍会执行

根据jquery文档(),它应该可以工作。为什么不是这样?最重要的是:如何检查以一致的方式使用了哪个
lang
属性?

由于返回jQuery对象,
$(“html:lang(en)”)
将始终是一个。相反,您需要检查返回的对象以检查元素是否存在

if($("html:lang(en)").length){
  //          here --^^^^^^^^--
  // Do something
}
$(“html:lang(en)”)
将始终是一个,因为它返回一个jQuery对象。相反,您需要检查返回的对象以检查元素是否存在

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

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

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

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

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