0

我无法针对所有具有特定班级的父母。

如果我点击 george michael,我想改变<p>包含“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 回答