usan tipos sirve qué para los formulario etiquetas estructura elemento data atributos atributo agregar html html5 custom-attribute

tipos - para qué sirve el elemento data-* en html



¿Puedo agregar un atributo personalizado a la etiqueta HTML? (13)

Aquí está el ejemplo:

document.getElementsByTagName("html").foo="bar"

Aquí hay otro ejemplo de cómo configurar atributos personalizados en un elemento de etiqueta de cuerpo:

document.getElementsByTagName(''body'')[0].dataset.attr1 = "foo"; document.getElementsByTagName(''body'')[0].dataset.attr2 = "bar";

Luego lee el atributo por:

attr1 = document.getElementsByTagName(''body'')[0].dataset.attr1 attr2 = document.getElementsByTagName(''body'')[0].dataset.attr2

Puede probar el código anterior en la Consola en DevTools, por ejemplo

¿Puedo agregar un atributo personalizado a una etiqueta HTML como esta? <tag myAttri="myVal" />


En HTML5: sí: usar el atributo de datos .

<ul> <li data-animal-type="bird">Owl</li> <li data-animal-type="fish">Salmon</li> <li data-animal-type="spider">Tarantula</li> </ul>


La función jquery data() permite asociar datos arbitrarios con elementos dom. Aquí hay un ejemplo .


No, esto romperá la validación.

En HTML 5 puede / podrá agregar atributos personalizados. Algo como esto:

<tag data-myAttri="myVal" />


Otro enfoque, que es limpio y mantendrá el documento válido, es concatenar los datos que desea en otra etiqueta, por ejemplo, id, luego usar split para tomar lo que quiera cuando lo desee.

<html> <script> function demonstrate(){ var x = document.getElementById("example data").querySelectorAll("input"); console.log(x); for(i=0;i<x.length;i++){ var line_to_illustrate = x[i].id + ":" + document.getElementById ( x[i].id ).value; //concatenated values console.log("this is all together: " + line_to_illustrate); //split values var split_line_to_illustrate = line_to_illustrate.split(":"); for(j=0;j<split_line_to_illustrate.length;j++){ console.log("item " + j+ " is: " + split_line_to_illustrate[j]); } } } </script> <body> <div id="example data"> <!-- consider the id values representing a ''from-to'' relationship --> <input id="1:2" type="number" name="quantity" min="0" max="9" value="2"> <input id="1:4" type="number" name="quantity" min="0" max="9" value="1"> <input id="3:6" type="number" name="quantity" min="0" max="9" value="5"> </div> <input type="button" name="" id="?" value="show me" onclick="demonstrate()"/> </body> </html>



Puede establecer propiedades desde JavaScript.

document.getElementById("foo").myAttri = "myVal"


Puede hacer algo como esto para extraer el valor que desea de javascript en lugar de un atributo

<a href=''#'' class=''click''> <span style=''display:none;''>value for javascript</span>some text </a>


Puede modificar su declaración! DOCTYPE (es decir, DTD) para permitirlo, de modo que el documento [XML] aún sea válido:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" [ <!ATTLIST tag myAttri CDATA #IMPLIED> ]>

#IMPLIED significa que es un #IMPLIED opcional, o podría usar #REQUIRED , etc.

Más información aquí:

http://www.w3schools.com/xml/xml_dtd_attributes.asp


Puedes agregar, pero también tienes que escribir una línea de javascript:

document.createElement(''tag'');

para asegurarse de que todo caiga en su lugar Me refiero a IE :)


Puedes hacerlo de forma nativa con JavaScript:

element.getAttribute(''key''); // Getter element.setAttribute(''key'', ''value''); // Setter


Sí, puedes hacerlo en la pregunta: <html myAttri="myVal"/> .


var demo = document.getElementById("demo") console.log(demo.dataset.myvar) // or alert(demo.dataset.myvar) //this will show in console the value of myvar

<div id="demo" data-myvar="foo">anything</div>