jQuery toggleClass example

Toggle class name on click in jQuery

by TimeRunner2359

HTML

<div>
 <ul id="menu">
    
  </ul>
  <div>
    <h1 class='topic' id='1'>
      Topic 1
     </h1>
     <br>
      <p>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iure aliquid culpa, aperiam obcaecati, eligendi expedita illum ipsam labore illo distinctio modi, impedit ullam cum, nihil sequi! Accusantium, eligendi quasi ducimus.
    </p>
  </div>
  <div>
    <h1 class='topic' id='2'>
      Topic 2
     </h1>
     <br>
      <p>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iure aliquid culpa, aperiam obcaecati, eligendi expedita illum ipsam labore illo distinctio modi, impedit ullam cum, nihil sequi! Accusantium, eligendi quasi ducimus.
    </p>
  </div>
  <div>
    <h1 class='topic' id='3'>
      Topic 3
     </h1>
     <br>
      <p>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iure aliquid culpa, aperiam obcaecati, eligendi expedita illum ipsam labore illo distinctio modi, impedit ullam cum, nihil sequi! Accusantium, eligendi quasi ducimus.
    </p>
  </div>
  <div>
    <h1 class='topic' id='4'>
      Topic 4
     </h1>
     <br>
      <p>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iure aliquid culpa, aperiam obcaecati, eligendi expedita illum ipsam labore illo distinctio modi, impedit ullam cum, nihil sequi! Accusantium, eligendi quasi ducimus.
    </p>
  </div>
 
</div>

CSS

body {
  background: clouds;
  padding: 20px;
  font-family: Helvetica;
}

#banner-message {
  background: #fff;
  border-radius: 4px;
  padding: 20px;
  font-size: 25px;
  text-align: center;
  transition: all 0.2s;
  margin: 0 auto;
  width: 300px;
}

button {
  background: #0084ff;
  border: none;
  border-radius: 5px;
  padding: 8px 14px;
  font-size: 15px;
  color: #fff;
}

#banner-message.alt {
  background: #0084ff;
  color: #fff;
  margin-top: 40px;
  width: 200px;
}

#banner-message.alt button {
  background: #fff;
  color: #000;
}

JavaScript

var topics = []
var links = []
$('h1.topic').each(function (index,topic){topics.push($(this).text())})

$.each(topics,function(index , topic) {
	links.push("<li><a href='#"+ (index +1) +"'>" +  topic + "</a></li>")
})
console.log(links)
$('#menu').append(links.join(''))