jQuery: la conversione di tipo effettuata dal metodo .data()

jQuery: la conversione di tipo effettuata dal metodo .data()

In jQuery il metodo usato per gestire gli attributi di dati ha una caratteristica che può provocare effetti collaterali non voluti.

Il metodo .data() effettua una conversione di tipo se rileva una compatibilità tra il valore usato e uno dei tipi di dati primitivi JavaScript. Ad esempio, data la seguente marcatura:


<div id="test" data-id="2876"></div>

Avremo:


var id = $( "#test" ).data( "id" );

console.log( typeof id ); // number

Se usiamo JSON come formato di scambio per le richieste AJAX, questa caratteristica può creare non pochi problemi di compatibilità. La soluzione:


var id = $( "#test" ).data( "id" ).toString();

console.log( typeof id ); // string
Torna su