Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

137
Visualizações
¿Cómo puedo resolver el error "La propiedad 'estilo' no existe en el tipo de error 'Elemento'?

Realmente necesito ayuda para resolver este error. Escribí el siguiente código JavaScript a continuación para permitir que mi indicador de pestaña se muestre en una pestaña en la que se hizo clic cuando se hizo clic en ella, pero todo lo que recibo es un error que dice: "La propiedad 'estilo' no existe en el tipo 'Elemento'". Las pestañas funcionan perfectamente bien, puedo cambiar de una pestaña a otra. He visto preguntas similares, pero mi problema no se resolvió siguiendo sus sugerencias principales. Actualmente estoy construyendo un proyecto angular y escribí mi JavaScript en la función ngInit(){} en mi archivo .ts. El código está abajo:

 ngOnInit() { let tabPanes = this._class('tab-header')[0].getElementsByTagName('div'); for (let i = 0; i < tabPanes.length; i++) { tabPanes[i].addEventListener('click', () => { this._class('tab-header')[0] .getElementsByClassName('active')[0] .classList.remove('active'); tabPanes[i].classList.add("active"); this._class('tab-indicator')[0].style.top = 'calc(80px + ${i*50}px)'; // This flags a "property 'style' doe not exist on type 'Element'" error. this._class('tab-content')[0] .getElementsByClassName('active')[0] .classList.remove('active'); this._class('tab-content')[0] .getElementsByTagName('div')[i] .classList.add('active'); }); } } _class(name: any) { return document.getElementsByClassName(name); }

¿Qué hice mal? ¿Alguna idea sobre cómo resolver esto?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

getElementsByClassName devuelve una HTMLCollectionOf<Element> . No hay una propiedad de style en el tipo de elemento y, por lo tanto, el error.

Puede escribirlo en la colección de HTMLElement y eso debería resolver el problema:

 _class(name: any): HTMLCollectionOf<HTMLElement> { return document.getElementsByClassName(name) as HTMLCollectionOf<HTMLElement>; }

PD: aunque lo anterior debería resolver el error de mecanografiado, pero como Eliseo mencionó en uno de los comentarios, puede utilizar el enlace de eventos Angular y el enlace de propiedades al atributo de clase para hacerlo de manera Angular.

about 4 years ago · Juan Pablo Isaza Relatório

0

Cambie el método _class a: -

 _class(name: any): NodeList<HTMLElement> { return document.getElementsByClassName(name) as NodeList<HTMLElement>; }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda