wie verwenden Sie next (weiter), um die nächsten ul in jquery?

ich habe ein einfaches Menü etwas wie dieses:

<ul id="navigation">
    <li id="m_li">
         <div><span>+</span><a href="#" >myself</a></div>
        <ul class="test" id="x_ul">
            <li id="li">
                <a href="#" >Pictures</a>
            </li>
            <li id="li">
                <a href="#" >Audio</a>
            </li>
        </ul>
    </li>
    <li id="profile_modeling_li">
        <div><span>+</span><a href="#" >friend</a></div>
        <ul class="test" id="y_ul">
            <li id="li">
                <a href="#" >Pictures</a>
            </li>
            <li id="li">
                <a href="#" >Video</a>
            </li>
        </ul>
    </li>
</ul>

dann nutze ich jquery so, wenn ich auf den + Zeichen der ul-Folien nach unten:

$("#navigation > li > div > span").click(function(){

    if(false == $(this).next('ul').is(':visible')) {
        $('#accordion ul').slideUp(300);
    }
    $(this).next('ul').slideToggle(300);
});

das Problem ist, dass $(this).next('ul') scheint nicht zu gern die nächste ul

irgendwelche Ideen, was ich falsch mache?

  • Könnten Sie $(this).find('ul')
  • Nein, das können Sie nicht.find schaut in die Elemente Nachkommen, während in diesem Fall die ul ist der Bruder des Elements parent.
InformationsquelleAutor Patrioticcow | 2012-04-24
Schreibe einen Kommentar