Atributos personalizados HTML que no funcionan en Chrome

Al usar atributos personalizados HTML, no funciona en Chrome.

Lo que quiero decir es, supongamos que tengo este HTML:

Si trato de obtener este atributo con JavaScript en Chrome, me vuelvo indefinido

 alert( document.getElementById( "my_div" ).my_attr ); 

En IE, funciona bien.

Recuperándolo a través de getAttribute ():

 alert(document.getElementById( "my_div" ).getAttribute("my_attr")); 

Funciona bien para mí en IE, FF y Chrome.

IE es sobre el único navegador que he visto que los atributos de honor no se ajustan al esquema HTML DTD.

http://www.webdeveloper.com/forum/showthread.php?t=79429

Sin embargo, si está dispuesto a escribir una DTD personalizada, puede hacer que esto funcione.

Este es un buen artículo para comenzar en esa dirección:

¿Estás declarando tu página como compatible con XHTML? No puede agregar nuevos atributos a los elementos de cualquier manera si lo hace. Según tengo entendido, hay formas (después de todo, ASP.NET tiene éxito), pero debe emitir todo tipo de gunk (¿esquema personalizado?). No estoy familiarizado con los detalles.

Tengo el mismo problema para Safari y el uso de getAttribute (..) hizo la magia. Parece compatible con navegador cruzado. Este es un buen artículo http://www.javascriptkit.com/dhtmltutors/customattributes.shtml