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

158
Visualizações
¿Por qué mis estilos de clase no se aplican a los elementos creados dinámicamente? angularjs

Mi pregunta es simple; ¿Por qué mis estilos de clase no se aplican a los elementos creados dinámicamente?

Estoy creando una barra de búsqueda aquí donde genero un resultado coincidente de li per y lo agrego a mi ul. Cuando inspecciono la página, veo que las clases se aplican correctamente a los li, pero los estilos de la clase en sí no están presentes. Codifiqué un li de prueba y tenía los estilos esperados. ¿Qué me estoy perdiendo aquí para que mis estilos se apliquen a estos elementos generados dinámicamente? ¿Seguramente no tengo que asignar todos los estilos para los li en mi texto mecanografiado? Cualquier explicación sería genial, ¡gracias a todos! (:

Mi HTML:

 <div class="section"> <h2>Step 1: Choose an Identity Provider (IDP)</h2> <div class="search"> <input class="focusable" (focusout)="handleFocusOut()" (input)="debounce(search, 300, $event)" placeholder="Select Identity Provider" autocomplete="off" /> <i class="icon fas fa-search"></i> <ul id="search-options"> <li class="focusable testing">IMG Salesforce</li> </ul> </div> <!-- <i class="fa fa-plus"></i>--> </div>

Mi scss:

 .section { ... .search { position: relative; width: 300px; .icon { position: absolute; right: 5px; top: 3px; } input { width: 300px; } ul { color: red; li { cursor: pointer; &:hover { background-color: grey; color: red; } .testing { cursor: pointer; &:hover { background-color: grey; color: red; } } } } } }

Mi TS:

 let ul = document.getElementById('search-options'); this.displayServices.forEach((service) => { let li = document.createElement('li'); li.classList.add('focusable', 'testing'); li.addEventListener('focusout', this.handleFocusOut); const img = document.createElement('img'); img.src = this.getImgUrl(service); img.width = 20; img.height = 20; img.style.margin = '0 10px'; li.innerHTML = `${service.name}`; li.style.display = 'flex'; li.style.alignItems = 'center'; li.style.border = '.5px solid black'; li.style.padding = '8px 0'; li.prepend(img); ul.appendChild(li); });
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Es difícil ser preciso sin ver todo el tamal, pero por lo general debería obtener sus datos en el archivo .TS y enviarlos directamente a la vista. Su vista debería estar creando esos elementos sobre la marcha. No se muestran en la respuesta aquí los estilos en línea que estaba agregando a la imagen y la etiqueta LI, solo hágalos en CSS.

Algo como esto:

TS:

 this.someService.getData.subscribe(displayServices => { this.displayServices = displayServices; })

HTML:

 <div class="section"> <h2>Step 1: Choose an Identity Provider (IDP)</h2> <div class="search"> <input class="focusable" (focusout)="handleFocusOut($event)" (input)="debounce(search, 300, $event)" placeholder="Select Identity Provider" autocomplete="off" /> <i class="icon fas fa-search"></i> <ul id="search-options"> <li *ngFor="service in displayServices" class="focusable testing" (focusout)="handleFocusOut($event)"> <img [src]="getImgUrl(service)" /> {{service.name}}</li> </ul> </div> <!-- <i class="fa fa-plus"></i>--> </div>
about 4 years ago · Juan Pablo Isaza Relatório

0

las clases se aplican correctamente a los li, pero los estilos de la clase en sí no están presentes

Si se refiere a las clases focusable y testing , no las veo en su SCSS.

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