JavaScript JavaScript and the DOM Traversing the DOM Sibling Traversal

William Ray Noble
William Ray Noble
18,002 Points

Help, I've been stuck on this one for a while.

I need to add a class to a previous element but so far everything I've tried hasn't worked. TIA

var list = document.getElementsByTagName('ul')[0];

list.addEventListener('click', function(e) {
  if ( == 'BUTTON') {
    let li =;
    let prevP = li.previousElementSibling;
    let ul = li.parentNode;
      if (prevP) {
        ul.insertBefore(li, prevP);
<!DOCTYPE html>
        <title>JavaScript and the DOM</title>
    <link rel="stylesheet" href="style.css" />
            <h1>Making a Webpage Interactive</h1>
            <p>Things to Learn</p>
                <li><p>Element Selection</p><button>Highlight</button></li>
                <li><p>Event Listening</p><button>Highlight</button></li>
                <li><p>DOM Traversal</p><button>Highlight</button></li>
        <script src="app.js"></script>

3 Answers

Zimri Leijen
Zimri Leijen
11,654 Points

Which part specifically are you stuck on?

Richard Preske
Richard Preske
Courses Plus Student 4,353 Points

I'm stuck too, I took your code and added this: if ( == "highlight") {

I think you need this condition after the button conditional statement. Getting error saying not a paragraph sibling.