Build an Emoji Reactor - Step 9

Tell us what’s happening:

const happyBtn = document.querySelector(“#happy-btn”);
let splitTxt;
let currCount;

happyBtn.addEventListener(“click”, () => {
const countEl = happyBtn.querySelector(“.count”);
currCount = Number(countEl.textContent.split(‘/’)[0].trim());
console.log(“Current count:”, currCount);
});

It keeps failing test case 1 which says to log the current count as a number

Your code so far

<!-- file: index.html -->
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Emoji Reactor</title>
  <link rel="stylesheet" href="./styles.css" />
</head>
<body>
  <main>

    <h1 class="title">How are you feeling today?</h1>

    <p class="description">
      Click on the buttons below to rate your emotions.
    </p>
    <div class="btn-container">
      <button id="happy-btn" class="emoji-btn" aria-label="Happy face emoji">
        <span role="img" aria-hidden="true">😊</span>
        <span class="count">3/10</span>
      </button>
    </div>
  </main>
  <script src="./script.js"></script>
</body>
</html>
/* file: styles.css */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root {
  --light-grey: #efefef;
  --white: #ffffff;
  --very-dark-blue: #0a0a23;
  --light-purple: #a78bfa;
  --very-light-purple: #c4b5fd;
  --purple: #8b5cf6;
}

body {
  background-color: var(--very-dark-blue);
  color: var(--light-grey);
  font-family: sans-serif;
}

main {
  text-align: center;
  padding: 10px;
}

.btn-container,
button {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
}

.btn-container {
  flex-direction: column;
}

.emoji-btn {
  width: 70%;
  cursor: pointer;
  color: var(--white);
  background-color: var(--light-purple);
  background-image: linear-gradient(
    to bottom,
    var(--very-light-purple),
    var(--light-purple)
  );
  border: 3px solid var(--purple);
  border-radius: 8px;
  padding: 10px;
  font-size: 1.5rem;
  margin: 10px 0;
  transition: background-color 0.3s ease, transform 0.2s ease;
}

@media (min-width: 768px) {
  .emoji-btn {
    width: 30%;
  }
}

.emoji-btn:hover {
  background-color: var(--purple);
  background-image: none;
}

.title {
  margin-top: 15px;
  font-size: 2rem;
}

.description {
  font-size: 1.4rem;
  margin: 20px 0;
}
/* file: script.js */

// User Editable Region

const happyBtn = document.querySelector("#happy-btn");
let splitTxt;
let currCount;

happyBtn.addEventListener("click", () => {
  const countEl = happyBtn.querySelector(".count");
  currCount = Number(countEl.textContent.split('/')[0].trim());
  console.log("Current count:", currCount); 
});


// User Editable Region

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 OPR/123.0.0.0

Challenge Information:

Build an Emoji Reactor - Step 9

Your solution works from my end. Please try one of the following steps to move forward.

Click on the “Restart Step” button and force a refresh of your page with CTRL + F5 then try to paste the code in again.

or - Try the step in incognito or private mode.

or - Disable any/all extensions that interface with the freeCodeCamp website (such as Dark Mode, Ad Blockers, or Spellcheckers), and set your browser zoom level to 100%. Both of these factors can cause tests to fail erroneously.

or - Ensure your browser is up-to-date or try a different browser.

I hope one of these will work for you.

Okay guys,
I have the actual solution.

The grade system is set up weird, and will only work if the value in the HTML is 0/10. Its failing because you altered yours to 5/10. I did the same, and was stuck for too long.

Hope this helps.

why do you think that is weird, you are not asked to change the html, doing things that are not asked for can cause unexpected failures

I appreciate the hell out of freeCodeCamp, ya’ll are heroes. But its weird it wouldn’t function with a different value.. when it doesn’t functionally change anything.
-Love you guys

the tests check specific things, we are unable to write tests that would work whatever change you do, but if you have ideas, you could become a contributor and help write better tests that allow more freedom

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.