Secondo il jQuery()
function documentation (alias $()
), è possibile definire gli attributi, eventi e metodi all'interno di quel secondo parametro.
Quindi sì, tutto ciò che definiresti utilizzando attr()
è un gioco equo. Che include “data-qualunque” attributi (che sono stranamente accessibili tramite $elem.data('whatever')
), tuttavia essi non verrà salvato jQuery.data
come qualsiasi variabili definite tramite $elem.data('name', 'value')
(almeno fino a quando si chiama $elem.data('whatever')
- vedi http://api.jquery.com/jQuery.data/#entry-longdesc-1).
Quindi, per chiarire:
var $elem = jQuery('<div/>', { 'data-test': "Testing" });
creerà questo elemento, e restituire un oggetto jQuery che lo contiene:
<div data-test="Testing"></div>
Da lì, si sarà in grado di fare:
jQuery.data($elem[0], 'test'); // => undefined
$elem.data('test'); // => "Testing"
jQuery.data($elem[0], 'test'); // => "Testing"
Ovviamente, anche il $elem.attr('data-test')
funzionerà.
fonte
2013-01-13 07:54:36
... hai provato? – JJJ