Posso adicionar um atributo personalizado a uma tag HTML como a seguir?
<tag myAttri="myVal" />
html
custom-attribute
lovespring
fonte
fonte
Respostas:
Você pode alterar sua declaração! DOCTYPE (ou seja, DTD) para permitir isso, para que o documento [XML] ainda seja válido:
#IMPLIED
significa que é um atributo opcional ou você pode usar#REQUIRED
etc.Mais informações estão em DTD - Atributos .
fonte
<meta http-equiv="content-type" content="application/xhtml+xml" />
.data-
.Você pode adicionar atributos personalizados aos seus elementos à vontade. Mas isso tornará seu documento inválido.
No HTML 5, você terá a oportunidade de usar atributos de dados personalizados com o prefixo
data-
.fonte
|
não é permitido em um csshref
, mas isso é o que é necessário para o Google FontsNão, isso interromperá a validação.
No HTML 5, você pode / poderá adicionar atributos personalizados. Algo assim:
fonte
A
data()
função jQuery permite associar dados arbitrários a elementos DOM. Aqui está um exemplo .fonte
No HTML5: yes: use o atributo de dados .
fonte
Sim, você pode, você fez isso na própria questão:
<html myAttri="myVal"/>
.fonte
fonte
Sim, você consegue!
Tendo a próxima
HTML
tag:Podemos acessar seus atributos com
JavaScript
:Element.setAttribute()
coloque o atributo naHTML
tag, se não existir. Portanto, você não precisa declará-lo noHTML
código se quiser configurá-loJavaScript
.key
: pode ser qualquer nome que você deseja para o atributo, enquanto ainda não estiver sendo usado para a tag atual.value
: é sempre uma string contendo o que você precisa.fonte
Você pode definir propriedades do JavaScript.
fonte
Aqui está o exemplo:
Aqui está outro exemplo de como definir atributos personalizados no elemento de tag do corpo:
Em seguida, leia o atributo:
Você pode testar o código acima no Console do DevTools, por exemplo
fonte
usar dados - qualquer, eu os uso bastante
fonte
data-*
valores do JavaScript?Outra abordagem, que é limpa e manterá o documento válido, é concatenar os dados que você deseja em outra tag, por exemplo, id, e usar split para obter o que você deseja quando quiser.
fonte
Você pode adicionar, mas também precisa escrever uma linha de código JavaScript,
para garantir que tudo caia no lugar. Quero dizer Internet Explorer :)
fonte
<tag ...>
aqui significa aparentemente qualquer tag HTML.bem! você pode criar vários atributos HTML personalizados, disfarçando os atributos de dados do que você realmente deseja.
por exemplo.
Aparentemente, ele funciona, mas isso invalidaria seu documento. Não há necessidade de usar o JScript para que você tenha atributos personalizados ou até elementos, a menos que precise, basta tratar seus novos atributos formulados (personalizados) da mesma maneira que você trata seus documentos. atributo "data"
Lembre-se de "inválido" não significa nada. O documento carrega bem o tempo todo. e alguns navegadores realmente validariam seu documento apenas pela presença de DOCTYPE ....., você realmente entende o que quero dizer.
fonte
Você pode fazer algo assim para extrair o valor desejado do JavaScript, em vez de um atributo:
fonte
<input type="hidden" value="...">
. Considere, no entanto, a diferença entre o tipo de dados que você coloca em vários atributos, em contraste com os dados que você pode colocar em um campo oculto. Ocultar um<span>
(de todas as coisas) de forma<a>
a manter um pedaço de metadados não é uma boa jogada. Seria peculiar ao seu site e muito dependente do JS (degradação graciosa, pessoal).