2012-04-15 17 views
7
var selector = $(this); 

¿Cuál es el código adecuado para cambiar el atributo personalizado para data-change-meselector?Cómo cambiar el valor de un atributo personalizado

La sintaxis

selector[data-change-me='someValue']; 

no está funcionando para mí

+0

posible duplicado de [¿es posible establecer un atributo personalizado mediante la función jQuery attr() utilizando variables JS] (http://stackoverflow.com/questions/7497066/is-it-possible-to-set-custom -attribute-by-jquery-attr-function-using-js-variab) – givanse

Respuesta

17

Creo que desea que el método attr.

selector.attr("data-change-me","someValue"); 

Aquí está la documentación: http://api.jquery.com/attr/

Vale la pena señalar también que se parecía a lo que estaba tratando de hacer era tratar el jQuery envuelto objeto DOM como un objeto Javascript por ejemplo:

Mira el siguiente ejemplo de lo que quiero decir:

var myObject = { 
    "data-change-me":"someValue"; 
}; 

myObject["data-change-me"] = "someOtherValue"; 

Esta es una sintaxis válida para los objetos de Javascript puros pero no jQuery. Para aprender sobre Javascript recomiendo Javascript the good parts

11

Mientras Rob Stevenson-Leggett es perfectamente correcta, es importante recordar que se puede utilizar sin formato JavaScript para esto también:

var selector = document.getElementById('div'); 
selector.setAttribute('data-change-me','red');​ 

JS Fiddle demo.

Referencias:

+1

Buen punto David. –

+0

¡Gracias! Sí, honestamente, prefiero jQuery para esto ('setAttribute()' no es perfecto después de todo), pero me pareció que valía la pena mencionarlo. =) –

+1

más 1 para JS puro! Gracias Señor – lwdthe1

Cuestiones relacionadas