メシのタネ

めしのたねになるIT情報配信サイト


【jQuery】同一クラスを別々に処理させる為に個人的に覚えておきたいこと

, , ,

  1. Webプログラム
  2. javascript
  3. 【jQuery】同一クラスを別々に処理させる為に個人的に覚えておきたいこと


CSSのクラスが複数ある時に、別々のスタイルを適用したかったりイベントを適用したかったりする場合があると思います。そんなときにはとっても便利な方法がありますよ。

同じクラスがついた要素を別々に取得する


例えば、.bodyって名前のclassが三つあったとして、cssだとこのこれは一種類のセレクタだと認知されますよね。ただ、jQueryを使えば、セレクタは一種類ですが、styleを適用したり、classを追加したりすることで、別物として扱う事ができます。ちょっと、意味不明なので少しでも分かりやすく図にするとこうなります。

jQueryAddClassmap

じゃじゃーん。こんな感じになります!こういうのができると、クラスそれぞれに対して別々のスタイルを適用したりクラス適用したり、幅が広がりそうですよね。
とりあえず最初は、同じクラスの要素を取得してみます。

こんな感じのコードでできるはずです。

各要素をjQueryオブジェクトに変換する


jQueryAddClassmap1

あんまりこの辺よくわかんないんですが、HTML要素だけ取得しててもその要素をjQueryで操作する事ができません。さっきからHTML要素と呼んでるものは、JavaScriptではDOMと呼ばれているものです。DOMを操作する為には、別の方法になります。jQueryでも機能や処理の中でDOMを操作しています。ただ、そのjQueryの機能を使うためにはDOMを一度jQueryオブジェクトに置き換える必要があります。ちなみにjQueryオブジェクトにしたものではDOMは扱えないので、jQueryオブジェクトにした後にDOMを扱いたいのであれば、jQueryオブジェクトの[0]を取得する必要があります。

と、言うわけでそれぞれを、jQueryオブジェクト化したことでclickメソッドを使う事が可能になりました。

同一クラスにidを指定しないでhide、showの切り替えをやる


これがやりたかったんですが、脱線しました。やりたいことはこういうことです。

jQueryAddClassmap2

ちょっと図でも分かりづらいですが、クリックしたら同一クラスであっても別の処理がやりたいということです。結果的に書いたコードは同じhide,showと同じ動作をするんですが、これをやることによって、要素ごとにちまちまIDつけなくてもいいので便利かなと思いました。何故これをしないとIDつけないとダメなのかというと、クラスだけにセレクタを適用した場合、全クラスに対してclickメソッドが効いてしまうからです。なので別々にクラスを取得して、別々にclickメソッドを効かせています。というわけで最後のコードです。

プログラムの勉強は、挫折し易いです。私も覚える必要を自覚するまでは、参考書などを買って勉強していた時期もありますが、覚えられなかったです。簡単なサンプルプログラムを写して動いて喜んでいたくらいでした。中身を全く理解していないのに。

私はデザイナー時代に

  • 会社から自立したかった
  • 同年代にあこがれのプログラマーがいた
  • 手を出せば案件を引き受けられる状況になった

この動機付けがあったので、ひたすら巷のプログラムを書き写して実行して、本を読んだり、プロジェクトやったりして、500万くらいまでのプロジェクトを形にできる技術を身に着けました。1000万以上のプロジェクトにも要員として参加した経験を得ることができました。

ただ、基本が無かったので、そこそこのプロジェクトでは複数人作業があったり、品質の担保を求められたりするので、コミュニケーションや品質担保の方法が分からず苦労しました。

TECH::EXPERTなら転職活動のサポートも行っていますし、全額返金保証プログラムもありますし、最低月額3万円という金額で受講できるのでおすすめです。

勉強もそうですが、同じ道を志す仲間に巡り合えることも魅力の一つです。 よろしければスクールも是非検討してみてください!


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.

若い頃、「仕事中にハマったこと」や「誰かに共有したい技術的な気づき」をアウトプットしたくてブログを始めましたが、勢い任せでよく分からない記事を大量生産し、あえなく飽きて終了。

改めて今、キャリア15年分の経験や知識が、これからITエンジニアを目指す方や、同じような課題で悩んでいる現役エンジニアの「メシのタネ」になるような記事を残したいと思っています。
※過去の記事は見ると精神が崩壊するため、そっとしておいてください。

🛠 経歴という名の珍道中:
文系Fラン → 広告営業 → Web営業 → 通信営業 → Web進行 → 出版 → Web媒体運用 → ソフトウェアハウス → SES → フリーランス

専門教育も受けず、転職歴も多数。履歴書はまるで時系列の事故記録のようですが、試行錯誤を重ね、なんとかエンジニアとして食べています。

このブログでは、そんな「履歴書クラッシャー型エンジニア」が送る、
名古屋一敷居の低い、実務に役立つ技術ブログを目指します。

Laravel
Laravel Collection入門: mapとeachの違い、ちゃんと説明できますか?New!!
Laravel
Eloquentのリレーション徹底解説New!!
Laravel
Eloquentは知ってる。でも“理解してる”って言えるのか?New!!
Laravel
FormRequestのポテンシャル、半分も出せてない説New!!
Laravel
Laravel Controllerの“万能感”、そこに幸せはあるのかい?New!!
API
RESTってつまり何?Webエンジニアが悩まないためのAPI設計入門