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

257
Views
Instancia de clase JS de referencia del elemento DOM

Es fácil acceder a los elementos DOM desde JavaScript ( document.getElementById() , Document.createElement() , ...).

Además de almacenar una cadena de referencia (algún ID o índice) como atributo de datos o agregar una función EventListener a un elemento DOM, ¿hay otras formas de hacer referencia, por ejemplo, a una instancia de clase JS desde un elemento DOM?

 let instance = new Class(); let element = document.createElement('...'); // something like this: element.some_reference = instance; element.some_reference.some_method()
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Sí, dado que los elementos DOM son objetos JS, puede agregar cualquier propiedad que desee, como demostró en su fragmento. Esto funciona y lo utilizan algunas bibliotecas que envuelven elementos DOM o necesitan almacenar datos que no son cadenas en los elementos (para datos de cadena, se prefiere el dataset de datos).

Sin embargo, la gran desventaja de esto es que los nombres de sus propiedades pueden colisionar con otras bibliotecas, otras instancias de su propia biblioteca (si se carga varias veces) o propiedades y métodos nativos.

Las soluciones para estos problemas son usar symbols en lugar de nombres y usar un WeakMap con el elemento como clave.

about 4 years ago · Juan Pablo Isaza Report

0

Es posible, puede agregar cualquier propiedad a un elemento DOM, tienen valores de javascript como cualquier otro. Pero no es una muy buena idea.

 const objInstance = {prop1:1,prop2:2}; document.getElementById('domElement').randomPropValue = objInstance; console.log(document.getElementById('domElement').randomPropValue); objInstance.prop1 = 22; console.log(document.getElementById('domElement').randomPropValue);
 <p id="domElement">Some dom element<p>

about 4 years ago · Juan Pablo Isaza Report
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!