WEBデザイン・プログラミング関連の
情報発信を手掛ける STAND4U

HOME > WEB制作 > javascript > jQuery「.has()」で指定の子要素を持つ親要素を選択

jQuery「.has()」で指定の子要素を持つ親要素を選択

[景品表示法に基づく表記] 本コンテンツにはプロモーションが含まれています。

jQueryのメソッド「.has()」は、指定の子要素を持つ要素を選択するメソッド

今回は、jQueryで「指定の子要素をもつ要素を選択する」メソッド「.has()」について、その使い方をサンプルを交えて解説しよう。

.has()の機能とは?

.has()の機能

.has()は、「指定の子要素を持つ親要素を選択する」事ができるメソッド。
※全く同じ機能の:has()というセレクタもあるが、書き方が少し違うので、書式を混同しないように気をつけよう。

.has()の構文

「指定の子要素を持つ親要素を選択する」構文

$("セレクタ").has(セレクタ);

.has()の使い所

.has()は指定の子要素をもつ「親要素」を選択するという点が使い所のポイント。つまり同じ要素であっても、特定の子要素をもつ場合と持たない場合がある要素が使い所である。

例えば次のようなナビゲーションで「<li>の子要素」にaタグを持つ場合とaタグを持たない場合で処理を分けたい場合などに有効だ。

HTML
<button>ボタン</button>
<ul class="nav">
 <li><span>pageA</span></li>
 <li><a href="page-b.html">pageB</a></li>
 <li><a href="page-c.html"">pageC</a></li>
</ul>
jQuery
$(function(){
  $("button").on("click",function(){
     $(".nav li").has("a").css("list-style-image","url('arrow.gif')");
  });
});

この場合「aタグを子要素にもつli」はリストのスタイルで「矢印マーク」が付くようになる。

※ちなみに、同じ内容を:has()セレクタを使って書くと次のようになる。

$(".nav li:has(a)").css("list-style-image","url('arrow.gif')");

フロントエンドスキルをもっと早く・簡単にマスターしたい方へ!

JavaScriptやCSS・Sassなどフロントエンド学習は、初心者が「独学」で完全マスターするには半年以上かかり、相当根気よくやらないと挫折してしまうか、ライバルに出遅れてしまう…。

短期間でフロントエンド・WEBデザインをマスターするには?

私の経験だが、手軽なオンラインスクールを利用した方が圧倒的に早かった。独学だと「何からどこまで勉強すれば良いかわからない」ものを、これだけ学習すればOKというポイントをおさえた教科書で学習しながら、わからない点を質問し放題なので、多少の出費は必要だが2ヶ月程度でサクッと学べたので逆に経済的だった!(実際に私がオンラインスクールを受講して体感

では「オススメはどのスクール?」とよく聞かれるのだが、たった1つのおすすめスクールがある訳でなく、その人によって最適なスクールが違う

スクール選びのポイント
  • 学習スタイルが自分に合っているか?
  • 低価格でコスパの良い学習料金か?
  • 講師に質問しやすい環境か?
  • 無料体験できるスクールか?

数あるスクールの中から、実際に受講してわかった事や現役プロならでは目線で厳選・比較したこちらの記事「現役プロ比較!短期 「WEBデザインスクール12校」おすすめランキング!」を参考に自分に合ったスクールを探そう↓

jQuery「.has()」で指定の子要素をもつ親要素を選択する方法のまとめ

以上が、jQueryで「.has()を使って、指定の子要素をもつ親要素を選択する」方法でした。

その他のjQueryメソッドについて確認したい方は、jQueryメソッドを一覧で解説したこちらの記事を確認しておこう!


※当記事の掲載内容は執筆現在の個人の見解・調査によるもので、動作・サービス等を保証するものではありません。最新情報は各公式サイトでご確認頂き、購入・契約・データ作成等はご自身の判断・責任でお願いします。 免責事項

関連記事

この記事を書いた人

編集長

WEBデザイン・グラフィックデザイン歴:約18年、HTMLコーディング、jquery、wordpress、イラストなど本業とし、WEBデザインコンサル・プログラミング・ライティング等にも勤しんでいます

プロフィールはこちら

Twitter @stand_4u_ をフォロー

新着記事