Estou usando o Svelte 5.
<a href="my-first-link">
<div>
<!-- Some elements -->
</div>
<a href="my-second-link">
<div>
<!-- Some other elements -->
</div>
</a>
<div>
<!-- Some elements -->
</div>
</a>
Svelte está apresentando um erro de lint:
`<a>` is invalid inside `<a>`svelte(node_invalid_placement)
O que é esperado nessa situação para corrigir esse problema?
Isso é esperado. Você não pode ter conteúdo interativo dentro de uma
<a>
tag. Como<a>
as tags são elementos interativos em si, você não pode aninhá-las. Você terá que redesenhar sua marcação para levar isso em conta.https://html.spec.whatwg.org/#interactive-content
Não é possível empilhar elementos dentro uns dos outros diretamente no Svelte. Você deve reorganizar sua estrutura para que cada link seja independente para corrigir o erro de lint. Este é um método de refatoração de código:
Para evitar o aninhamento inválido, mova a segunda tag para fora da primeira. Agora, cada link pode funcionar independentemente.