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

293
Views
Object.assign(), asigna el valor mínimo en la entrada pero no la longitud mínima o la clase

Estoy declarando mi objeto enumerable así:

 let inputAttributes = {"type": "text", "minlength": "3", "max": "30", "class": "form-control"};

y luego asignándolo así:

 Object.assign(textfieldTitle, inputAttributes);

sin embargo, cuando entro en el inspector en Google Chrome, mi entrada se ve así:

 <input name="metafield[key 0]" type="text" max="30">

¿Cómo es que solo se asignan los atributos max='30' y type='text' ?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

HTMLInputElement no tiene una propiedad de class o minlength . Las propiedades reflejadas para esos atributos son className (heredada de Element ) y minLength (tenga en cuenta la L mayúscula). Entonces, tendría que usar esos nombres en su objeto original o escribir su propia función de asignación que traduzca los nombres. (O escriba su propia función de asignación que use setAttribute en su lugar, pero yo no haría eso).

En un comentario has dicho:

...es bueno recordar que los atributos asignados por JS no son letra por letra lo que ves en el HTML

Lo son si establece atributos , a través de setAttribute . Por ejemplo:

 theElement.setAttribute("class", "new value");

Eso funciona correctamente (en todas las versiones excepto en las obsoletas del obsoleto Internet Explorer).

Lo que está viendo es que la propiedad que refleja un atributo no siempre tiene exactamente el mismo nombre que el atributo. ( className [ class ] y htmlFor [ for ] son los ejemplos clásicos). Esto se debe a que en JavaScript anterior a ES5, no podía usar class o for u otras palabras reservadas como nombres de propiedades literales ( obj.class = "x" ) , aunque la versión que usaba la notación entre paréntesis era ( obj["class"] = "x" ). Entonces, las propiedades reflejadas para class y for se crearon className y htmlFor (hay una tercera al menos en uno de los subtipos de elementos; no me llega de inmediato).

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!