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

tom Barkan
PRO
tom Barkan
Pro Student 3,062 Points

Down Button won't work

https://w.trhou.se/bsa0wrhi4x

app.js:35 Uncaught SyntaxError: missing ) after argument list

4 Answers

Steven Parker
Steven Parker
172,182 Points

I see two issues:

  • the arguments on line 32 are in the wrong order
  • there's a stray extra close brace on lin 35

So, starting with line 31:

    if (nextLi) {
      ul.insertBefore(nextLi, li);  // instead of (li, nextLi)
    }
  }
// }  <-  removed extra close brace 
Kat Stacy
Kat Stacy
33,833 Points

I used all of the same code the teacher used but my down button is not working. Help please!

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);
      }
    }
    if (event.target.className == 'down') {
      let li = event.target.parentNode;
      let nextLi = li.nextElementSibling;
      let ul = li.parentNode;
      if (nextLi) {
        ul.insertBefore(nextLi, li);
      }
    }
  }
});
Steven Parker
Steven Parker
172,182 Points

The down buttons work for me. Perhaps the problem is in a different part of the code that is not shown here.

I recommend you start a fresh question, and make a snapshot of your workspace and post the link to it with your question.

Kat Stacy
Kat Stacy
33,833 Points

Thank you Steven. I was able to figure it out. There was a problem with the HTML.