手軽に利用できる!jQueryで親要素を取得する方法【初心者向け】

プログラミング初心者向けに、jQueryで親要素を取得する方法について解説しています。JavaScriptよりも手軽に利用できるので、始めたばかりという方でもすぐ身につけられるはずです。実際にソースコードを書きながら理解していきましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

JavaScriptのライブラリであるjQueryで親要素を取得する方法を説明します。

言葉で理解しようとすると難しいかもしれませんが、実際にソースコードを書きながら解説しているので、初心者の方でも覚えられるでしょう。

jQueryについてそもそもよく分からないという方は、jQueryとは何なのか解説した記事をまずご覧ください。

 

なお本記事は、オンラインブートキャンプ フロントエンドコース(JavaScript・jQuery講座)の内容をもとにしています。

 

今回の記事の内容は動画でもご覧いただけます。
テキストよりも動画の方が理解しやすいという場合はぜひご覧ください。

 

目次

 

大石ゆかり

田島メンター!要素の取得方法で、もっと複雑なものは無いでしょうか?

田島悠介

子要素を起点にして、親要素を取得して、変更するというのがあるね。

大石ゆかり

かなり複雑そうですねー。

田島悠介

こういうこともjQueryなら簡単に出来るんだよ。さっそく書いてみよう!

 

親要素を取得するメソッド

親要素を取得するメソッドはいくつか種類があります。
以下にその例を上げましょう。

  • 「.parent()」
  • 「.parents()」
  • 「.closest()」

代表して、上記の3種類があります。今回は一般的な上記3種類の違いを説明していきます。

 

「.parent()」

直近の親要素の取得をします。シンプルで、使いやすいと思います。

下に紹介する例ではこれを用いて簡単に紹介します。引数にタグを指定すればそのタグと合致する親要素の時のみ働かせることができます。

 

「.parents()」

親要素だけでなく、先祖にの要素までさかのぼって取得します。

引数にタグを指定すると、引数と合致する要素をすべて取得します。

 

「.closest()」

親要素、先祖要素の中で、引数にしていしたものに一致する要素を取得します。

これは一致する親要素があるまで、先祖をさかのぼることを意味しています。合致するものがあるまで先祖をさかのぼります。

上記のようなメソッドをどの様な時に使うかというと、特定の親要素があるところに何か特定のスタイルを適用したいときなどに使います。

 

[PR] JavaScript・jQueryで挫折しない学習方法を動画で公開中

実際に書いてみよう

実際にソースコードを書いてみましょう。

HTML

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <script type="text/javascript" src="http://code.jquery.com/jquery-3.1.0.min.js"></script>
    <script src="sample.js" type="text/javascript"></script>
    <title>jQuery</title>
  </head>
  <body>
    <div>
      <p>div要素です。</p>
    </div>
    <p>div要素ではありません。</p>
    <div>
      <p>div要素です。</p>
    </div>
    <p>div要素ではありません。</p>
    <div>
      <p>div要素です。</p>
    </div>
    <p>div要素ではありません。</p>
  </body>
</html>

JavaScript

$(function(){
  $("p").parent("div").css("color","#d9534f");
});

これは親要素が「div」であるときにそのものの色を赤に変えています。

親要素の取得はjQueryで簡単に行うことができました。

 

以上、jQueryで親要素の取得について解説しました。

JavaScriptで行うよりも手軽に行えるので、ぜひ使えるようにしておきましょう。

 

大石ゆかり

pタグを囲んでいるdivタグのCSSの色を変更できました。

田島悠介

親要素のCSSが変わって、子要素のpタグのテキストの色がわかってるよね。

大石ゆかり

単純にid名やclass名、HTMLタグ名だけじゃなくて、こういう複雑な変更も出来るんですねー。

田島悠介

そうそう。子要素を起点にして、親要素を変更することも出来るって覚えておきたいね!

 

[お知らせ]TechAcademyでは最短4週間でフロントエンドの技術が身につくフロントエンドオンラインブートキャンプを開催しています。jQueryを使ってリッチなWebサービスを作りたい方はぜひご覧ください。