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

251
Visualizações
Acceso al elemento secundario con JQuery en connectedCallback (componente web)

Tengo un componente web muy simple de la siguiente manera que carga un archivo de plantilla de componente desde el servidor:

 export default class EditorComponent extends HTMLElement { async connectedCallback() { let file = "http://blog/components/editor/editor.html"; let res = await fetch( file ); this.attachShadow( { mode: 'open' } ).innerHTML = await res.text(); } } customElements.define('editor-component', EditorComponent);

Necesito acceder a los elementos secundarios en el archivo HTML del componente a través de jQuery. He intentado lo siguiente pero fue en vano:

 async connectedCallback() { let file = "http://blog/components/editor/editor.html"; let res = await fetch( file ); this.attachShadow( { mode: 'open' } ).innerHTML = await res.text(); $(this).find('div').hide(); <<<<< WHAT I AM ATTEMPTING }

También he agregado un tiempo de espera, pero eso tampoco ayudó.

Se puede hacer esto?

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

0

Tienes que hacer la sintaxis de jQuery tú mismo

Estoy haciendo selectores JS estándar normales aquí
Porque desaprendí los selectores de jQuery (que requieren una biblioteca de más de 80 KB) cuando se lanzó IE9... en 2011

Es un poco contundente cargar HTML, mostrarlo en shadowDOM,
y luego extraiga solo el contenido que desee. Ver h1 continuación

El DOMParser() estándar puede tomar una parte del trabajo, más rápido porque no se renderiza HTML,
ver alink en:

 <web-component></web-component> <script> customElements.define("web-component", class extends HTMLElement { async connectedCallback() { let file = "https://load-file.github.io/"; let html = await (await fetch(file)).text(); // Browser engine parses HTML to visual (shadow)DOM this.attachShadow({mode: 'open'}).innerHTML = html; let h1 = this.shadowRoot.querySelector("h1"); // Browser engine parses HTML in Memory let doc = new DOMParser().parseFromString(html, "text/html"); let alink = doc.querySelector("h2 a"); alink.target = "blank" ; this.shadowRoot.replaceChildren(h1, "SHIFT+Click this link: ", alink); } }) </script>

Lea sobre todos los métodos en:

  • https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment
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