-1

jsFiddle 演示

需要使<a>标记在最后一级< li>可链接

对于所有<a>不在最后一个< li>级别 == event.preventDefault(e);

<ul>
    <li>
        <a href="">ul li</a>
        <ul>
            <li>
                <a href="">ul li ul li</a>
                <ul>
                    <li><a href="">ul li ul li ul li last click true</a></li>
                </ul>
            </li>
        </ul>
    </li>
    <li>
        <a href="">ul li</a>
        <ul>
            <li>
                <a href="">ul li ul li last click true</a>
            </li>
        </ul>
    </li>
    <li>
        <a href="">ul li</a>
        <ul>
            <li>
                <a href="">ul li ul li</a>
                <ul>
                    <li>
                        <a href="">ul li ul li ul li</a>
                        <ul>
                            <li>
                                <a href="">ul li ul li ul li ul li last click true</a>
                            </li>
                        </ul>
                    </li>
                </ul>
            </li>
        </ul>
    </li>
</ul>

修复问题:我的意思是最后一级<li>标签...

4

2 回答 2

2

我可以看到的一个逻辑是,如果aul兄弟,则阻止默认操作

jQuery('a').filter(function(){
    return $(this).next('ul').length != 0
}).click(function (e) {
    event.preventDefault(e);
    jQuery(this).next('ul').animate({height:"toggle", opacity:"toggle"}, 300);
});

演示:小提琴

于 2013-09-11T10:52:53.557 回答
-1

查看有关:last-child Selector 的文档。

于 2013-09-11T10:50:38.277 回答