jQueryで子要素を取得するいくつかの方法〜children,find,contents

  • このエントリーをはてなブックマークに追加
  • Pocket

スポンサードリンク

jQueryで子要素や孫要素を取得する方法です。

わざわざメソッドを使わずに、セレクタで簡単に指定することも出来ます。

 

セレクタで子要素を指定

>(大なり)でつなげる

$(‘div > p’)

親要素の直下にある子要素を取得し、孫要素などは取得できません。

スペースを空ける

$(‘div p’)

親要素内にある子要素や孫要素を取得できます。便利なのでよく使います。

サンプル

children() で子要素を取得

親要素の直下にある子要素を取得し、孫要素などは取得できません。

基本構文

$(‘div’).children()

>(大なり)で指定したときと同じ動作になります。

子要素を赤文字にするサンプル

HTML

jQuery

結果

子要素を取得。

<div>の子要素の<p>要素にcssが適用され、赤文字になりました。

特定の子要素だけにスタイルを適用するサンプル

複数の子要素の中から、特定の子要素だけを指定することもできます。

HTML

jQuery

結果

子要素1
子要素2
子要素3

children()の引数にclassを指定すると、<div>の子要素で、classがtext<p>要素のみcssが適用されました。

find() で子要素、孫要素を取得

find()は子孫要素を取得できる便利なメソッドです。使うことも多いですね。

基本構文

$(‘div’).find(‘span’)

スペースを空けて繋げたときと同じ動作になります。

特定の孫要素にスタイルを適用するサンプル

子要素の子要素、つまり孫要素を指定することもできます。

HTML

jQuery

結果

子要素1
子要素2
子要素3

find()の引数に要素を指定すると、<div>の孫要素<span>cssが適用されました。

複数の孫要素にスタイルを適用するサンプル

複数の孫要素をカンマ区切りで指定することもできます。

HTML

jQuery

結果

子要素1
子要素2
子要素3

find()の引数にカンマ区切りで要素を指定すると、複数の要素<span><em>cssが適用されました。

contents() で要素の中のテキストを指定

contents()children()と似ていますが、children()は要素を取得するのに対し、contents()は要素の中のテキストを指定することもできます。

要素の中のテキストを別のタグで囲うなんてこともcontents()ならできるのです。

基本構文

$(‘div’).contents()

要素の中のテキストを別のタグで囲うサンプル

HTML

jQuery

結果

子要素テキスト

contents()<p>要素の中のテキストを指定し、wrap()を使ってテキストを<strong>タグで囲いました。

children()では、要素の中のテキストを指定することはできません。

ちなみにwrapInner()でも同様の動作は可能ですが、逆に子要素のタグだけ削除する場合にも使えますね。

参考:子要素のタグのみ削除

スポンサードリンク

  • このエントリーをはてなブックマークに追加
  • Pocket

コメントを残す

*