jQuery Accordion voegt alleen pijl toe als het kind is

Ik probeer pijl naar accordeon hoofdtitellink toe te voegen als het een kinditem heeft anders zal het een koppeling zelf zijn om door de url te navigeren.

I am following this tutorials http://www.designchemical.com/lab/jquery/demo/jquery_vertical_accordion_menu_using_cookies.htm

Code is zoals hieronder


Ik gebruik jQuery geen conflict voor 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');

    });

});
2

1 antwoord

Voeg dit toe aan je ready-functie

jQuery('#nav > li').each(function(){
    if (jQuery(this).find('ul').length > 0)
    {
        //item has children; do whatever you want
        jQuery(this).prepend('');
    }

});

Here's a demo http://jsfiddle.net/qPfhG/4/

3
toegevoegd
Ik heb de code aangepast maar geen afbeelding getoond. Ik weet niet zeker of ik het goed of fout heb gedaan. Kunt u mijn gewijzigde vraag met uw code controleren?
toegevoegd de auteur Code Lover, de bron
Heel erg jammer. Het is mijn fout dat ik me dat net heb gerealiseerd. Ik deed en werkt prima, maar één vraag als ik wil toevoegen als een klasse voor die li hoe kan ik dat doen? Ook als ik die klasse op de toggle wil veranderen, zoals wanneer ik een pijl toevoeg maar wanneer deze open is, zal deze naar beneden wijzen en in een nauwe spits
toegevoegd de auteur Code Lover, de bron
Hartelijk bedankt. Eigenlijk wilde ik de klas veranderen op #nav> li> een tag en dit was het toevoegen van #nav> li. maar ik heb de code gewijzigd van jQuery (this) naar jQuery ('# nav> li> a'). addClass ('class'); hoop dat dit geen probleem oplevert
toegevoegd de auteur Code Lover, de bron
oh wow deze code past klasse toe op alle ankertags, niet alleen met kind :(
toegevoegd de auteur Code Lover, de bron
gast, verander de src = "path/to/iamge.png"
toegevoegd de auteur slash197, de bron
Om een ​​klasse toe te voegen aan het li element in plaats van jQuery (this) .prepend ('') gebruik jQuery (this) .prepend (''). addClass ('whatever')
toegevoegd de auteur slash197, de bron