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

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

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

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

2回答

1197閲覧

JQueryの任意N番目の画像をクリックしたら、別要素のN番目の画像を変えたい

t0yz_shi

総合スコア1

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2020/05/11 09:44

前提・実現したいこと

下記ソースコードのアイコン画像をクリックした時「_off.png」が「_on.png」に切り替えができるようになっていて、一番下のボタンはアイコンが一つでも「_on」の時(=クラスが付いた時)、activeになる様になっています。

これが、別の箇所にも<span>が無いだけのほぼ同じソースがあり、この2つのアイコンの動きを連動させたいのですが、どうしても分からず。
乏しい知識の中で、書き換えてしまえば…と思ったのですが片方(下記部分)は<span>のテキストが在り、もう片方は<span>のテキスト無しのため上手く書き換えが出来ず。
単純に不要箇所削除する、だけでは対処ができず行き詰ってしまいました。
どなたか分かる方、ご教示いただけますと幸いです。

該当のソースコード

<div class="before"> <div slacc="genre"> <ul class="genre-img genre-img-w-max"> <li> <img src="/img/ico_01_off.png" alt=""> <span class="sub-text">レストラン</span> </li> <li> <img src="/img/ico_02_off.png" alt=""> <span class="sub-text">ショップ</span> </li> <li> <img src="/img/ico_03_off.png" alt=""> <span class="sub-text">マッサージ</span> </li> <li> <img src="/img/ico_04_off.png" alt=""> <span class="sub-text">ホテル</span> </li> <li> <img src="/img/ico_05_off.png" alt=""> <span class="sub-text">アクティビティ</span> </li> <li> <img src="/img/ico_06_off.png" alt=""> <span class="sub-text">エンターテインメント</span> </li> <li> <img src="/img/ico_07_off.png" alt=""> <span class="sub-text">その他</span> </li> </ul> </div> </div> <div class="btn-A"> <a href="#aaa" class="btn-link">地図を見る</a> </div>

試したこと

<<jQuery>> // 画像の切り替え&「_on.png(li)」にclass追加 $('.genre li img').click(function () { if ($(this).attr('src').indexOf('_off') !== -1) { $(this).attr('src', $(this).attr('src').replace('_off', '_on')); $(this).closest('li').addClass('-select'); } else { $(this).attr('src', $(this).attr('src').replace('_on', '_off')); $(this).closest('li').removeClass('-select'); } }); // <span>テキスト無しの箇所に複製 $('.btn-A').click(function () { var genreImg = $('.before .genre li').clone(true); $('.after .genre .genre-img').html(genreImg); $('.before .genre li .sub-text').remove(); });

その他
・「.-select」が付いたclassのsrcを書き換える → もう片方が全部同じアイコンになった

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

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

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

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

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

guest

回答2

0

任意N番目の画像をクリックしたら、別要素のN番目の画像を変えたい

.index().eq() で特定したり設定したりできます。

【.index() | jQuery API Documentation】
https://api.jquery.com/index/

【.eq() | jQuery API Documentation】
https://api.jquery.com/eq/

【【初心者】jQuery eqメソッド/indexメソッド/prev,next(スライド切替)【備忘録20】 - Qiita】
https://qiita.com/charlie19919425/items/7a072af817b495222aa5

投稿2020/05/11 11:47

kei344

総合スコア69458

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

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

t0yz_shi

2020/05/12 12:08

ご回答ありがとうございます! 結果、別の方法で対処しましたがjQuery/JavaScript勉強中なので、回答いただいたものも使えるように他で挑戦したいと思います。 勉強中なのでまた質問させてもらう可能性高いですが、、目に留まりましたらよろしくお願いします。 ありがとうございました。
guest

0

ベストアンサー

画像を差し替えるというより、両方組み込んでおいて、displayのnoneとblockを切り替える方が楽ではないですか?

投稿2020/05/11 10:55

okina

総合スコア471

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

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

t0yz_shi

2020/05/12 12:05

難しく考えすぎてました。できるだけhtmlの構成現状から変えたくないな、とそればっかりに気を取られてました。 いったん頭を切り替えて、ご指摘の方法でhtml組みなおしそれに応じてJavaScript構成したらできました! さくっと考え方を訂正頂けたのでこちらをベストアンサーにさせていただきました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問