JavaScript JavaScript and the DOM Traversing the DOM Solution: Using nextElementSibling

I know I wrote the code right however for some reason it doesnt work also doubled checked the html classes

HTML

        ```   <li>grapes
             ```  <button class='up'>up</button>
            ``    <button class='down'>down</button> ````<---this the class I created the down button--->`````
           ``   <button class='remove'>remove</button></li>

       ```    <li>
           ``  amethyst
           ``  <button class='up'>up</button>
            ``  <button class='down'>down</button>
           ``   <button class='remove'>remove</button></li>
         ```  <li>
           ```  lavender
           ``  <button class='up'>up</button>
            ``  <button class='down'>down</button>
            ``  <button class='remove'>remove</button></li>
          `` <li>       
             plums
            `` <button class='up'>up</button>
            ``  <button class='down'>down</button>
           ``   <button class='remove'>remove</button></li>
         </ul>     
JS
`````listUl.addEventListener('click',(event)=>{
`````if(event.target.tagName=='BUTTON'){
````  if(event.target.className =='remove'){
  ````  let li=event.target.parentNode;
````let ul=li.parentNode;
  ```  ul.removeChild(li);
  }
    }
  ``` if(event.target.className =='up'){
  ```  let li=event.target.parentNode;
  ````  let prevLi=li.previousElementSibling;
  ```  let ul=li.parentNode;
   ``  if(prevLi){
  ````  ul.insertBefore(li,prevLi);
    }
   }
this is the part I am having trouble with 
   ````` if(event.target.className =='down'){
    `````let li=event.target.parentNode;
   ````` let nextLi=li.nextElementSibling;
   ````` let ul=li.parentNode;
   ````` if(nextLi){
   ````` ul.insertBefore(li,nextLi);
    }
      }
         });

1 Answer

KRIS NIKOLAISEN
PRO
KRIS NIKOLAISEN
Pro Student 48,707 Points

For down you have your arguments reversed

ul.insertBefore(li,nextLi)

should be:

ul.insertBefore(nextLi, li)

Thank You I couldn't figure it out