【问题标题】:Testing for html lang attribute with jQuery使用 jQuery 测试 html lang 属性
【发布时间】:2016-12-01 19:30:35
【问题描述】:

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

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

我注意到这并不能始终如一地工作。例如lang="fr",或者没有定义语言属性时,代码仍然会被执行。

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

【问题讨论】:

    标签: javascript jquery html lang


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2016-01-14
        • 1970-01-01
        • 2011-05-18
        • 1970-01-01
        • 2017-04-18
        • 2014-12-15
        • 2015-07-31
        • 1970-01-01
        相关资源
        最近更新 更多