ポンコツエンジニアのごじゃっぺ開発日記。

いろいろポンコツだけど、気にするな。プログラム&ロボット大好きなポンコツが日々の記録を残していきます。 自動で収入を得られるサービスやシステムを作ることが目標!!

【連載】jQueryでDOMを取得しよう – 4日目「現在の各要素から指定した条件に合致する子孫要素を選択する」

今回は「現在の各要素から指定した条件に合致する子孫要素を選択する」ということについて紹介したいと思います。

DOM構成

まずは今回使用するDOMの構成についてです。

f:id:ponkotsu0605:20190331233749p:plain

<table border=1>
  <tbody>
    <tr>
      <td class="cls001" id="id001"><a href="./gyudon">牛丼</a></td>
      <td class="cls002" id="id002"><a href="./cheese">とろーり3種のチーズ牛丼</a></td>
      <td class="cls003" id="id003"><a href="./mentai">高菜明太マヨ牛丼</a></td>
    </tr>
    <tr>
      <td class="cls004" id="id004"><a href="./negi">ねぎ玉牛丼</a></td>
      <td class="cls005" id="id005"><a href="./kimuchi">ねぎキムチ牛丼</a></td>
      <td class="cls006" id="id006"><a href="./okura">かつぶしオクラ牛丼</a></td>
    </tr>
    <tr>
      <td class="cls007" id="id007"><a href="./onisara">シャキッと和風オニサラ牛丼</a></td>
      <td class="cls008" id="id008"><a href="./ponzu">おろしポン酢牛丼</a></td>
      <td class="cls009" id="id009"><a href="./sanma">さんま牛丼</a></td>
    </tr>
  </tbody>
</table>

取得してみる

さんま牛丼をtdタグから取得してその子要素のaタグを取得してみましょう。

指定の仕方は、親と子の間にスペースを入れるだけ。

$('.cls009 a')[0]

<a href="./sanma">さんま牛丼</a>

簡単ですね。

$('table tr .cls009 a')[0]

<a href="./sanma">さんま牛丼</a>

また、findメソッドを使うことでも検索することができます。

$('table tr').find('.cls009 a')[0]

<a href="./sanma">さんま牛丼</a>

このように、親から子、孫も取得することができます。