jquery - 使用 jQuery 检测 html 语言

标签 jquery html multilingual lang

我在 Wordpress 中使用了一个多语言插件,使用户能够在网站上更改他们的语言选项。

这个插件改变了 HTML 语言属性,例如

<html lang="en-GB">

<html lang="en-US">

我尝试使用以下选择器检测语言:

if ($( 'html:lang(en-us)')) {
    alert('US lang detected');
}

然而,这会产生误报,因为页面下方的其他元素被设置为“en-us”,即使 opening HTML 属性设置为“en-GB”也是如此。

哪个选择器会专门检查 HTML 开头属性?

最佳答案

您的选择器是正确的,但您在 if 语句中错误地使用了它。

$( 'html:lang(en-us)') 将返回一个 jQuery 对象。 jQuery 对象始终为真,因此您的 if 语句将始终计算为真。

一个简单的解决方法是使用 .is函数,它将返回一个 bool 值:

if ($('html').is(':lang(en-us)')) {
    alert('US lang detected');
}

关于jquery - 使用 jQuery 检测 html 语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33656116/

相关文章:

javascript - 防止自动建议提交表单

jquery - Ajax.ActionLink 确认消息显示两次

javascript - jQuery 自定义确认表单

javascript - 动态创建元素并添加 onclick 事件不起作用

html - 下面的 CSS 可以进一步简化吗?

javascript - 在 Magnific Popup 顶部显示 JQuery Modal

php - 如何使我的 CMS 多语言化

ios - 使用NSAttributedString上的自定义字体属性应用的文本的字体回退

带有ngmodel的angularjs多语言文本字段

Jquery cookie(持久化cookie)与rails