2

$('*[lang|="de"][lang|="sv"]').hide();lang="de"およびlang="se"属性を持つすべてのh1、h2、およびpsを選択してから非表示にしないのはなぜですか?たとえば、

<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();
});
})();
4

1 に答える 1

2

jsfiddleをチェックしてください

jQueryに複数のセレクターがある場合は、コンマを追加する必要があります。次のようになります

$('*[lang|="de"], *[lang|="sv"]').hide();

クリックイベントも修正しました。それも機能していませんでした。それも*[lang|="de"]呼び出しによって選択される必要があります。jsfiddleで実際の例を見ることができます。

これがMultipleSelectorのjQueryドキュメントです

言語スイッチャーの実装とは異なります。ただし、サイト全体でそれを行うことを探している場合は、各言語でサイトを複数回書き出すのではなく、多言語Webサイトのこの投稿を参照してください。

** アップデート **

セレクターの一部としてを使用しない場合は、このjsfiddleを参照してください*

于 2012-07-21T17:33:28.347 に答える