<tr>
<td style="width: 100px;">
<img class="pa" src="https://1.jpg"/>
<img class="pb" src="1a.jpg"/>
</td>
<td style="width: 100px;">
<img class="pa" src="2.jpg"/>
<img class="pb" src="2a.jpg"/>
</td>
<td style="width: 100px;">
<img class="pa" src="3.jpg"/>
<img class="pb" src="3a.jpg"/>
</td>
</tr>
のようなhtmlと
jQuery('.pa').click(function(){
jQuery('.pb').css('display','inline')
})
のようなjQueryと
.pb {display:none;}
のようなCSSを使って.paがクリックされたときに.pbの画像を表示させたいと考えているのですが
1.jpgをクリックすると1a.jpg,2a.jpg,3a.jpgがすべて表示されます。
現在作っているものの事情により、そこのクラス名を変えたりidを利用したりが出来ない状況なのですが、どのpaがクリックされたか判別し、その直後のpbのCSSのみを変更するような方法はありますか?
ご教示お願いいたします。
No.1ベストアンサー
- 回答日時:
こんにちは
>そこのクラス名を変えたりidを利用したりが出来ない状況なのですが~
要素を特定するのに、idやクラスがないとできないということはありません。
とりあえずそのままクラス名を利用して指定するのなら・・
$('.pa').on('click', e=>{
$(e.target).next('.pb').css('display', 'inline');
});
とかではいかが?
以下は、idやクラス名を用いない方法での一例です。ご参考までに。
(jQueryも不要です)
HTMLの<tr>の上位構造が不明なので、やや正確性に欠けますけれど・・
document.addEventListener('click', e=>{
if([...document.querySelectorAll('td img:first-child')].includes(e.target)){
const n = e.target.nextElementSibling;
if(n && n.nodeName == 'IMG') n.style.display = 'inline';
}
});
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript jQueryでのレスポンシブが綺麗に動かない 3 2022/06/21 11:08
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- HTML・CSS CSSのホバーエフェクト 1 2023/06/19 06:53
- HTML・CSS 【CSS】:hasで可能? imgを含むtr要素を選択したい 1 2022/11/17 14:36
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS flex の各子要素を横幅 100% にしたい 1 2022/09/22 21:25
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~12/6】 西暦2100年、小学生のなりたい職業ランキング
- ・ちょっと先の未来クイズ第5問
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
デフォルト非表示にしたい。【t...
-
背景色と連動するスライドショ...
-
スクリプト
-
交互に入れ替わる画像を複数配置
-
jQueryでのドラッグアンドドロ...
-
クリックでクリッカブルマップ...
-
MAX関数を使ってからLEFT JOIN...
-
javascriptテキストBOX色を元に...
-
ヘアスタイルをサイト内で絞り...
-
JavaScriptで変更した属性の元...
-
読み込んだQRコードをフォーム...
-
Ctrl+F(検索)の窓を出したいの...
-
class追加でロールオーバーする...
-
jQueryのeqで最後からn番目以降...
-
表示・非表示のスクリプトで、...
-
ページ遷移後のcssプロパティ保持
-
Slick.jsのオプションrtlについて
-
ネストされたチェックボックス...
-
ネストされたハッシュの値から...
-
CSS <div>の入れ子が反映さ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
デフォルト非表示にしたい。【t...
-
bxsliderで最初に縦に複数表示...
-
Javascript初心者|jQueryの.va...
-
Colorboxがうまく設置できません
-
jQueryで同じクラス名のものを...
-
embed要素のsrc属性の値を変更...
-
全部のサイコロをjavascriptで...
-
背景色と連動するスライドショ...
-
画像マウスオーバーで、checkb...
-
交互に入れ替わる画像を複数配置
-
ボタンを押すたびに交互に切り...
-
JavaScriptに関する質問です
-
「画像クリックで音声再生」を ...
-
JavaScriptでの画像切り替えを...
-
クリッカブルマップをロールオ...
-
スクリプト
-
JQueryでオープニングアニメー...
-
fancyboxのポップアップ時の画...
-
サイトに横スクロールのスライ...
-
複数枚画像を表示して一定時間...
おすすめ情報