【发布时间】:2015-02-21 09:09:24
【问题描述】:
堆栈上的第一个问题,所以向我欢呼! 我正在尝试开发一种新方法(显然,因为我在网上没有看到解决此问题的方法,也许因为不可能)来使用 JS 和 lang 属性更改 HTML 编写元素的语言。
基本上,我已经创建了多个标签,每个标签都带有 lang 属性,因此给特定的 lang 一个显示值 -none-,隐藏它,并给它一个值 -inherit- 来显示它。 这样,使用以下行:
a:lang(en),p:lang(en) { display : none }
a:lang(it),p:lang(it) { display : inherit }
我一次只能看到一种语言。这行得通!
现在,我创建了一个
<a href="" lang="en" id="en"> word </a>
在英文文本周围标记,与任何其他具有自己的 lang 属性的语言相同。 我试过用:
$("#en").click(function(){
$('a:lang(en)').css('display', 'inherit');
$('a:lang(it)').css('display', 'none');
};
这似乎不起作用。
有什么想法吗?
非常感谢, 谢伊
【问题讨论】:
-
为什么不制作两个样式表,在更改语言时禁用当前一个并启用另一个。
-
我只是想看看是否有更简单的方法来更改语言。无论如何,我不会为了隐藏和显示标签而更改样式表,我会创建一个不同的页面并进行加载,这应该更容易,不是吗?
-
不同样式表的工作速度更快,并且支持在调用开关后动态添加元素。您的查询会找到页面上的每一个匹配项,想象一下那里有数千个元素,与交换样式表操作相比,它可能非常慢。
-
我马上试试。如果它有效,我会告诉你并要求你写它作为答案,谢谢!
-
已经给你答案了,一个更短的版本。见下文
标签: javascript html lang