質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%

Q&A

解決済

2回答

392閲覧

【ポートフォリオ】言語切り替えで、表示言語を切り替えたい。

RaiseSkill

総合スコア50

0グッド

0クリップ

投稿2022/08/05 11:11

前提

現在、ポートフォリオサイト制作で、日本語と英語を切り替えられる機能を実装しようとしています。

使用言語は以下の通りです。
・HTML5 + CSS3
・jQuery

実現したいこと

・未選択、あるいは日本語選択で日本語表記
・英語選択で英語表記

上記の切り替え機能を実装したいです。

発生している問題・エラーメッセージ

・jQueryにてコードを記入したが、全く変化が起きない
・そもそもjQueryが適切に読み込めているのかも不明

該当のソースコード

コードを以下に記します。

HTML

1<html> 2 <body> 3 4 <!-- 中略 --> 5 6 <div class = "language-select"> 7 <lebel> 8 <select name = "lang-select"> 9 <option selected value = "0">- 言語選択 -</option> 10 <option value = "1">日本語</option> 11 <option value = "2">English</option> 12 </select> 13 </lebel> 14 </div> 15 16 <div> 17 <div class = "japanese"> 18 <p>日本語</p> 19 </div> 20 <div class = "english"> 21 <p>英語</p> 22 </div> 23 </div> 24 25 <script type = "text/javascript" src = "js/jquery-3.6.0.min.js"></script> 26 <script type = "text/javascript" src = "js/bootstrap.js"></script> 27 <script type = "text/javascript" src = "js/script.js"></script> 28 29 </body> 30</html>

CSS

1.language-hide { 2 visibility: hidden; 3}

jQuery

1let val = $("[name = "lang-select"]").val(); 2 3//Language Select 4$("[name = lang-select]").change(function() { 5 if (val == 1) { 6 $('.japanese').show(); 7 $('.english').hide(); 8 } else if (val == 2) { 9 $('.japanese').hide(); 10 $('.english').show(); 11 } else { 12 $('.japanese').show(); 13 $('.english').hide(); 14 } 15});

試したこと

jQueryを下記のように書き換えても動作しない。

jQuery

1let val = $("[name = "lang-select"]").val(); 2 3//Language Select 4$("[name = lang-select]").change(function() { 5 if (val == 1) { 6 $('html').find('english').addClass('language-hide'); 7 $('html').find('japanese').removeClass('language-hide'); 8 } else if (val == 2) { 9 $('html').find('japanese').addClass('language-hide'); 10 $('html').find('english').removeClass('language-hide'); 11 } else { 12 $('html').find('english').addClass('language-hide'); 13 $('html').find('japanese').removeClass('language-hide'); 14 } 15});

補足情報(FW/ツールのバージョンなど)

上記コードに問題がある場合、ご指摘抱ければ幸いです。
よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

上記コードに問題がある場合、ご指摘抱ければ幸いです。

シンタックスハイライトをつければ、問題点は明らかです。

js

1let val = $("[name = "lang-select"]").val();

文字列の途中に引用符を入れているために、文字列が途中で終わってしまっています。

投稿2022/08/05 11:26

maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

@maisumakun様

ご指摘ありがとうございます。
なるほど、分かりやすい解説をありがとうございました!

早速、修正してみたいと思います。

投稿2022/08/05 14:22

RaiseSkill

総合スコア50

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問