Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

262
Views
How 'this' is different on DIV and Input

I consoled out the this keyword (pls refer the code) but for div the console out was different and for Input tag it's different. Wondering why?

(function(){
    document.addEventListener('DOMContentLoaded', function(){
    const complement = new Complement();
    complement.generateRandomNumber();
    complement.events();
});

class Complement{
    constructor(){
        this.firstInt = document.getElementById('firstint') //this is div
        this.secondInt = document.getElementById('secondint') //this is input
        this.sumInt = document.getElementById('sumint')
    }

    events = function(){
        this.secondInt.addEventListener('keyup', this.checkFields)


    }
}
Complement.prototype.generateRandomNumber = function(){
    **console.log(this) //this refers to the Class Complement. why?**
    let randonFirstInt = Math.floor(Math.random()*100)
    
    //assign random number to first integer
    this.firstInt.textContent = randonFirstInt;
}

Complement.prototype.checkFields = function() {
    **console.log(this) //this refers to the input tag. why?** 
    let secondIntInput = this.value
    console.log(secondIntInput)
}

})()

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!