Eu defendo os componentes da Web desde antes de eles se tornarem uma especificação, inspirado principalmente pela estrutura dijit do Dojo Toolkit. Capacitar widgets JavaScript de primeira classe, em vez de uma bagunça de DIVs e modelos, sempre fez mais sentido. Agora que existem componentes da Web e estruturas incríveis como o Ionic são baseadas neles, eu queria descobrir como detectar um componente da Web, em vez de um elemento HTML comum, com JavaScript. Como se vê, é muito mais fácil do que o senhor imagina.

Supondo que o senhor tenha uma referência a um elemento, é tão fácil quanto detectar um traço na tag do elemento:

function isWebComponent(element) {
  return element.tagName.includes("-");
}

A especificação do componente da Web exige um traço na tag HTMLElement‘s tagNameportanto, a detecção de um componente da Web é essencialmente limitada a uma comparação de strings.

Se o senhor ainda não brincou com componentes da Web, espero que encontre tempo para isso. Depois de passar por décadas de “widgets”, aninhamento excessivo de DIVs arbitrários e código ilegível, aprendi a apreciar essas joias!

  • Demonstrações favoritas de Chris Coyier’s CodePen

    David me perguntou se eu gostaria de fazer um guest post escolhendo algumas das minhas canetas favoritas do CodePen. É uma tarefa difícil! São tantas! Mas consegui escolher algumas que me surpreenderam nos últimos meses. Se o senhor…

  • Escreva consultas de mídia simples, elegantes e fáceis de manter com Sass
  • Crie um Dojo Lightbox com dojox.image.Lightbox

    Um dos motivos pelos quais adoro o Dojo Toolkit é que ele parece ter tudo. Não é preciso procurar um plug-in neste site e depois outro plug-in naquele site para criar meu aplicativo. O Dojo Toolkit é uma ferramenta de desenvolvimento de aplicativos. dojox namespace do Dojo está o

  • Contadores CSS

    Contadores. Eles eram um elemento básico do Geocities/da cena inicial da Web, com os quais muitos de nós, desenvolvedores “mais antigos”, crescemos; um recurso na época, o alvo de piadas na Web agora. O CSS implementou seu próprio tipo de contador, um mais sensato e direto do que o antigo…