2010-01-10 14 views
7

¿hay alguna manera de obtener la lista de atributos configurados en un elemento?jQuery obtener todos los atributos HTML

ejemplo:

<div id="myID" title="I am Title" myAttr="I am something else">Hello World!!!</div> 

¿Hay una manera de obtener todos los atributos anteriores?

yo probamos este ya, pero hasta ahora nada:

$('#myID').attr(); 

yo probamos este así:

$('#myID').attr().each(function(a,b){ 
    alert(a); 
}); 

no ayudó tampoco ... así que cualquier sugerencia sería apreciada.

gracias.

Respuesta

3
+0

yo no realmente como complementos/plugins ... sería mi último resultado ... Ya lo he visto, pero gracias – Val

+3

Luego mira el código del complemento para ver cómo se hace, ¿eh? –

+2

@ JanHančič El enlace está muerto. –

2

Usted puede utilizar la propiedad DOM attributes en el elemento subyacente jQuery para extraer una NamedNodeMap que contiene todos los atributos del elemento. Esto se puede analizar rápidamente en un objeto que se puede pasar directamente al .attr().

var attrs = {}; 
var attrMap = $('#myID')[0].attributes; 
$.each(attrMap, function(i,e) { attrs[e.nodeName] = e.nodeValue; }); 

attrs es ahora:

{id: "myID", title: "I am Title", myattr: "I am something else"} 

Aquí hay una jsFiddle que muestra cómo funciona esto: http://jsfiddle.net/joemaller/cDYtr/

Cuestiones relacionadas