Existe um atributo genérico para todos os elementos HTML, além de IDENTIFICAÇÃO e de classe?

StackOverflow https://stackoverflow.com/questions/1431509

  •  07-07-2019
  •  | 
  •  

Pergunta

Como uma marca que eu possa usar para armazenar algumas informações necessárias?Mas realmente não é necessário ou usadas pelo HTML?Funciona como o atributo de marca para objectos no Visual Basic?

Foi útil?

Solução

Até Html5 não. Com html 5, há provisão para isso com o data-* atributo.

Por exemplo:-

<div id="myStuff" data-mydata="here is my data">

Na tecnologia atual, não há fora para fazer isso. No entanto, todos os navegadores permitem que você adicione qualquer atributo arbitário a um elemento HTML, portanto, no HTML4, você pode fazer isso:-

<div id="myStuff" data-mydata="here is my data">

Que, como você pode ver, é idêntico, mas não ofensado, e se você quiser uma estrita conformidade XHMTL, será considerada "quebrada".

Você pode acessar o atributo exatamente como faria com qualquer outro:-

var mydata = document.getElementById("myStuff").getAttribute("data-mydata");

Outras dicas

Talvez você possa usar o html5 Dados-* atributos? Isso falhará na validação no HTML4, mas ainda é provavelmente a melhor opção ...

Se você estiver armazenando dados para usar no JavaScript, também poderá usar algo como o plug -in de metadados do jQuery. Basicamente, você pode armazenar dados dentro do atributo class = "" do elemento, assim:

<div id="aaa" class="class1 class2 class3 { type: 'food', color: 'green' }"></div>

Então, em JavaScript:

alert($('#aaa').metadata().color) // "green"

Outros kits usam os atributos do título ou REL para armazenar dados. Embora isso seja mais amigável para a validação, pode ou não ser melhor do que usar a resposta de Anthonywjones de apenas usar atributos não padrão. Vai "quebrar" a validação, mas novamente de acordo com Dojo, Atributos personalizados são HTML perfeitamente válidos, mesmo que não validem contra um DTD.

Portanto, não - não há um único atributo específico bem aceito, onde você pode despejar todos os dados. Todos os atributos existentes são para usos específicos. Mas você pode 1) criar seus próprios atributos, ou 2) cooperar uma tag existente para reutilizar para seus propósitos. Só queria apontar a alternativa.

Dê uma olhada em www.htmlref.com ou W3C para os atributos usados.

Fora aqueles que você pode adicionar, eles renderizarão e eles serão acessíveis via código, por exemplo, em C#, você pode acessar uma coleção de atributos de controles.

Control.attributes ["myCustomattribute"] = "Hello World";

rel e rev atributos, que o trabalho em elementos com um href-atributo.eles têm um significado semântico, mas são muitas vezes usado como um atributo para armazenar informações adicionais

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top