使用 jQuery 测试 html lang 属性
Testing for html lang attribute with jQuery
我正在使用以下代码检查 <html>
元素上的 lang
属性:
if( $("html:lang(en)") ){
// Do something
}
我注意到这并不总是有效。例如,当lang="fr"
,或者没有定义语言属性时,代码仍然被执行。
根据 jquery 文档 (https://api.jquery.com/lang-selector/),它应该可以工作。为什么不是这样?最重要的是:如何检查以一致的方式使用了哪个 lang
属性?
$("html:lang(en)")
将始终是 truthy value since it returns a jQuery object. Instead, you need to check length property 的返回对象以检查元素是否存在。
if($("html:lang(en)").length){
// here --^^^^^^^^--
// Do something
}
您也可以使用 []
选择器并检查 length
属性 以了解它是否存在:
if ($("html[lang='en-us']").length) {
//do something.
}
我正在使用以下代码检查 <html>
元素上的 lang
属性:
if( $("html:lang(en)") ){
// Do something
}
我注意到这并不总是有效。例如,当lang="fr"
,或者没有定义语言属性时,代码仍然被执行。
根据 jquery 文档 (https://api.jquery.com/lang-selector/),它应该可以工作。为什么不是这样?最重要的是:如何检查以一致的方式使用了哪个 lang
属性?
$("html:lang(en)")
将始终是 truthy value since it returns a jQuery object. Instead, you need to check length property 的返回对象以检查元素是否存在。
if($("html:lang(en)").length){
// here --^^^^^^^^--
// Do something
}
您也可以使用 []
选择器并检查 length
属性 以了解它是否存在:
if ($("html[lang='en-us']").length) {
//do something.
}