0

特定のクラス セットを持つすべての親をターゲットにするのに問題があります。

<p>george michael をクリックすると、 「michael」と「george sr」を含むタグ の色を変更したいとします。

以下は、ダミーの html と失敗した jQuery です。

<ul>
<li><div class="leaf"><p>george sr</p></div>
<ul>
    <li><div class="leaf"><p>michael</p></div>
        <ul>
            <li><div class="leaf"><p>george michael</p></div></li>
        </ul>
    </li>
    <li><div class="leaf"><p>gob</p></div>
        <ul>
            <li><div class="leaf"><p>steve holt</p></div></li>
        </ul>
    </li>
    <li><div class="leaf"><p>lindsay</p></div>
        <ul>
            <li><div class="leaf"><p>maeby</p></div></li>
        </ul>
    </li>
</ul>

私はやろうとしました:

$(document).on("click", '.leaf', function() {
   $(this).parents(".leaf").children('p').css('color','red');
});

編集リクエスト:また、上記のjqueryが機能しない理由を誰かが説明できますか?

助けてください :)

あなたの使用のために:http://jsfiddle.net/KuZrq/2/

4

1 に答える 1

2

このような :

$(document).on("click", '.leaf', function () {
    $(this).closest('li').parents('li').find('> .leaf > p').css('color', 'red');
});

フィドル

于 2013-06-20T18:40:11.410 に答える