jQueryを使うと、 `find()`を使ってすべての子孫(子、孫、曾孫…​どんなレベルでも)を検索することができます。

例えば、3つのレベルの深さを持つ `div`要素です。

<div id="A1">

    <div class="child">A1-1</div>
    <div class="child">A1-2</div>

    <div id="A2">

        <div class="child">A2-1</div>
        <div class="child">A2-2</div>

        <div id="A3">

            <div class="child">A3-1</div>
            <div class="child">A3-2</div>

        </div>

    </div>

</div>

1. $( ‘#A1’). find( ‘. child’)

$('#A1').find('.child').css('background','red');

“A1″のIDを含む要素と、 ”

child

“というクラス名を含む子要素を見つけ、背景を赤に変更します。

2. $( ‘#A2’). find( ‘. child’)

$('#A2').find('.child').css('background','red');

“A2″のIDを含む要素と、 ”

child

“というクラス名を含む子要素を見つけ、その背景を赤に変更します。

3. jQuery find()の例

この例を再生します。

HTMLの例

<html>
<head>

<script type="text/javascript" src="jquery-1.3.2.min.js"></script>

<style type="text/css">
    div{
        padding:8px;
        border:1px solid;
    }
</style>

</head>

<body>

<h1>jQuery find() example</h1>

<script type="text/javascript">

  $(document).ready(function(){

    $("#button1").click(function () {

    $('div').css('background','white');

    $('#A1').find('.child').css('background','red');

    });

    $("#button2").click(function () {

    $('div').css('background','white');

    $('#A2').find('.child').css('background','red');

    });

    $("#button3").click(function () {

    $('div').css('background','white');

    $('#A3').find('.child').css('background','red');

    });

  });
</script>
</head>
<body>

<div id="A1">A1
    <div class="child">A1-1</div>
    <div class="child">A1-2</div>

    <div id="A2">A2
        <div class="child">A2-1</div>
        <div class="child">A2-2</div>

        <div id="A3">A3
            <div class="child">A3-1</div>
            <div class="child">A3-2</div>
        </div>
    </div>

</div>

<br/>
<br/>
<br/>

<input type='button' value='find #A1' id='button1'>
<input type='button' value='find #A2' id='button2'>
<input type='button' value='find #A3' id='button3'>

</body>
</html>