jQuery Accordion只有在有孩子时才添加箭头

时间:2012-06-24 10:37:14

标签: jquery accordion

我正在尝试将箭头添加到手风琴主标题链接中,如果它有子项目,则它将是链接本身以导航网址。

我正在关注本教程http://www.designchemical.com/lab/jquery/demo/jquery_vertical_accordion_menu_using_cookies.htm

代码如下

<ul id="nav">
    <li><a href="#">Item 1</a>
        <ul>
            <li><a href="#">Sub-Item 1 a</a></li>
            <li><a href="#">Sub-Item 1 b</a></li>
            <li><a href="#">Sub-Item 1 c</a></li>
        </ul>
    </li>
    <li><a href="http:actualurl">Item 2</a></li>
    <li><a href="#">Item 3</a>
        <ul>
            <li><a href="#">Sub-Item 3 a</a></li>
            <li><a href="#">Sub-Item 3 b</a></li>
            <li><a href="#">Sub-Item 3 c</a></li>
            <li><a href="#">Sub-Item 3 d</a></li>
        </ul>
    </li>
    <li><a href="http:actualurl">Item 4</a></li>
</ul>

我使用jQuery与Wordpress没有冲突

jQuery(document).ready(function () {

    var checkCookie = jQuery.cookie("nav-item");

    if (checkCookie != "") {

        jQuery('#nav > li > a:eq('+checkCookie+')').addClass('active').next().show();

    }
    jQuery('#nav > li > a').click(function(){

        var navIndex = jQuery('#nav > li > a').index(this);

        jQuery.cookie("nav-item", navIndex);
        jQuery('#nav li ul').slideUp();

        if (jQuery(this).next().is(":visible")){

            jQuery(this).next().slideUp();

        } else {

            jQuery(this).next().slideToggle();

        }

        jQuery('#nav li a').removeClass('active');
        jQuery(this).addClass('active');

    });

});

1 个答案:

答案 0 :(得分:3)

将此添加到准备好的功能

jQuery('#nav > li').each(function(){
    if (jQuery(this).find('ul').length > 0)
    {
        //item has children; do whatever you want
        jQuery(this).prepend('<img src="path/to/iamge.png" />');
    }

});

这是一个演示http://jsfiddle.net/qPfhG/4/