为什么$('*[lang|="de"][lang|="sv"]').hide();
没有选择然后用lang =" de"隐藏我所有的h1s,h2s和ps。和郎=" se"属性?例如
<p lang="de">Lorem Ipsum ist ein einfacher Blindtext für die Druckindustrie.</p>
<p lang="en">Lorem Ipsum is simply dummy text of the printing industry.</p>
<p lang="sv">Lorem Ipsum är en utfyllnadstext från tryckindustrin.</p>
我是在一个非常简单的三语选择器(默认为英语)之后,如
<script type="text/javascript">
$('*[lang|="de"][lang|="sv"]').hide();
$("#lang_de").click(function (event) {
event.preventDefault();
$('*[lang|="en"][lang|="sv"]').hide();
$('*[lang|="de"]').show();
});
$("#lang_sv").click(function (event) {
event.preventDefault();
$('*[lang|="de"][lang|="en"]').hide();
$('*[lang|="sv"]').show();
});
</script>
属性选择器不能以这种方式组合吗?
编辑:这对我来说效果很好
(function () {
$('*[lang|="de"], *[lang|="sv"]').hide();
$("#lang_de").click(function (event) {
event.preventDefault();
$('*[lang|="en"], *[lang|="sv"]').hide();
$('*[lang|="de"]').show();
});
$("#lang_sv").click(function (event) {
event.preventDefault();
$('*[lang|="de"], *[lang|="en"]').hide();
$('*[lang|="sv"]').show();
});
})();
答案 0 :(得分:2)
查看jsfiddle
在jQuery中拥有multiple selectors时需要添加逗号。它应该看起来像
$('*[lang|="de"], *[lang|="sv"]').hide();
我还修复了你的点击事件。它也没用。它也需要通过*[lang|="de"]
调用来选择。您可以在jsfiddle中看到一个工作示例。
不完全是您的语言切换器的实现。但是,如果您希望在整个网站上进行此操作,而不是使用每种语言多次写出您的网站,请查看Multi Language网站的此帖子
**更新**
有关未将*
用作选择器