2016-05-19 2 views
-1

J'ai un problème avec Traversing dans le DOM.jQuery Traversant dans le DOM avec Next() ou Find()

<div class="dropdown-left"> <ul> <li> Parent 1 <ul class="dropdown-right"> <ul class="dropdown-right-col1"> <li>Test 1</li> <li>Test 2</li> <li>Test 3</li> </ul> </ul> </li> <li> Parent 2 <ul class="dropdown-right"> <ul class="dropdown-right-col1"> <li>TEST 4</li> <li>TEST 5</li> <li>TEST 6</li> </ul> </ul> </li> </ul> </div>

jQuery résultat show avec ce code. Il a trouvé tous ul.dropdown-right et je veux seulement qu'il trouve les enfants à la place.

$(".dropdown-left").bind('click', "li", function() { 
    $(this).find("ul.dropdown-right").slideToggle(150); 

Ceci est le code que je voulais utiliser, mais il ne montrera aucun résultat.

$(".dropdown-left").bind('click', "li", function() { 
    $(this).next("ul.dropdown-right").slideToggle(150); 

Merci!

+1

Où est .dropdown gauche dans votre code HTML? – sinisake

+0

'.next' ne sélectionne que des frères et soeurs. Je pense que vous voulez dire '$ (this) .next(). Find (" ul.dropdown-right "). SlideToggle (150);' – raphv

+0

Désolé, je pense que c'est de ma faute. J'ai essayé le code et ça n'a pas marché :(Je clarifie le DOM tout de suite, ça vous ennuierait de le regarder à nouveau Merci –

Répondre

0

Je pense que vous avez besoin de cette fonctionnalité:

$(document).ready(function() { 
 
    $(".dropdown-left").bind('click', function() { 
 
    $(this).children('ul.dropdown-right').slideToggle(150); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div> 
 
    <ul> 
 
    <li class="dropdown-left"> 
 
     Parent 1 
 
     <ul class="dropdown-right"> 
 
     <ul class="dropdown-right-col1"> 
 
      <li>Test 1</li> 
 
      <li>Test 2</li> 
 
      <li>Test 3</li> 
 
     </ul> 
 
     </ul> 
 
    </li> 
 
    <li class="dropdown-left"> 
 
     Parent 2 
 
     <ul class="dropdown-right"> 
 
     <ul class="dropdown-right-col1"> 
 
      <li>TEST 4</li> 
 
      <li>TEST 5</li> 
 
      <li>TEST 6</li> 
 
     </ul> 
 
     </ul> 
 
    </li> 
 
    </ul> 
 
</div>

+0

Désolé, je pense que c'est de ma faute, j'ai essayé le code et ça n'a pas fonctionné. travail :(Je clarifie le DOM tout de suite, ça vous dérangerait de le regarder à nouveau Merci –

+0

Édité mon code –

+0

Merci, Malik! –