Ver Mensaje Individual
  #7 (permalink)  
Antiguo 13/03/2012, 22:26
Avatar de Panino5001
Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Javascript , Atributos

Uf, hay varias cosas/conceptos que deberías repasar.
Por ejemplo, si usás atributos personalizados, más vale usar html5 y data y dataset:
http://ejohn.org/blog/html-5-data-attributes/
http://www.javascriptkit.com/dhtmltu...tributes.shtml

Otra cosa, en algunos navegadores esto no funcionará:
Código PHP:
<script type="application/javascript" language="javascript"
el atributo language es obsoleto y no debe usarse
Deberías usar esto:
Código PHP:
<script type="text/javascript"
Otra cosa, si querés usar encadenamiento (chaining), en lugar de esto:
Código PHP:
function $(id) { document.getElementById(id);} 
deberías usar esto:
Código PHP:
function $(id) {return document.getElementById(id);} 
Y, finalmente, un ejemplo de lo que imagino que querés hacer:
Código PHP:
<!DOCTYPE html>
<
html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title></title>
<
script type="text/javascript">
function $(
n){return document.getElementById(n);}
function 
setCustomAttribute(a,v,el){
        
el.setAttribute(a,v);
             
//si querés seguir encadenando, deberías retornar aquí el mismo objeto al que le estás añadiendo el atributo, es decir, deberías añadir un: return el;
}
function 
test(){
     
alert(this.getAttribute('data-algo'));
     
// o, en navegadores modernos: alert(this.dataset.algo);
}
function 
hacer(){
    
setCustomAttribute('data-algo','boo',$('pp'));
    $(
'pp')['onclick']=test;
}
onload=hacer;
</script>

</head>

<body>
<div id="pp">click</div>
</body>
</html> 
Edito se me adelantó el amigo zerokilled

Última edición por Panino5001; 13/03/2012 a las 22:32