0

HTML

<ul id="wrapper">
    <li>
        <ul class="pr">
            <li>
                <ul class="pr">
                    <li></li>
                    <li></li>                       
                </ul>
            </li>
            <li>
                <ul class="pr">
                    <li></li>
                    <li></li>                       
                </ul>
            </li>
        </ul>
    </li>
    <li>
        <ul class="etc">
            <li>
                <ul class="etc">
                    <li></li>
                    <li></li>                       
                </ul>
            </li>
            <li>
                <ul class="etc">
                    <li></li>
                    <li></li>                       
                </ul>
            </li>
        </ul>
    </li>
</ul>

各要素をクリックliすると、子にクラスが追加されますul(最も近いulもののみで、すべての要素ul内ではありません)。

どうやってするか?

私の悪い英語でごめんなさい。

4

3 に答える 3

2

試す

$('#wrapper li:has(ul)').click(function (e) {
    $(this).children('ul').toggleClass('myclass');
    e.stopPropagation();
})

デモ:フィドル

于 2013-10-02T04:02:52.397 に答える
1
$('li:has(ul)').click(function () {
    $(this).children('ul').addClass('ClassName');
});

参考文献

。クリック()

.addClass()

:もっている()

li 内のすべての ul 要素にクラスを追加する場合は、 を使用します。find()

$('li:has(ul)').click(function () {
    $(this).find('ul').addClass('ClassName');
});
于 2013-10-02T04:01:32.367 に答える
1

このような ?

$('li').on('click', function(){
    // > mean one level children
    $('> ul', this).addClass('yourClass');
});
于 2013-10-02T04:11:55.810 に答える