Perché il cast di data-value="2.0"
è convertito in una stringa e il valore di data-value="2.5"
viene convertito in numero? Posso gestire questa multa nella mia funzione. Sto solo cercando di capire un po 'di più su come Javascript gestisce numeri e stringhe. Questo mi ha colto alla sprovvista.HTML5 data- * tipo di attributo stringhe e numeri di fusione
<a data-value="2.0">2.0</a>
<a data-value="2.5">2.5</a>
$("a").click(function() {
alert(typeof $(this).data("value"));
});
Non so perché questo sta accadendo, ma si può vedere che galleggia che termina con un '0' sono sempre fatto finta di essere archi. Forse perché l'ultimo '0' è irrilevante e quindi interpretato come testo. Ad esempio: '2.5' è numero e' 2.50' è una stringa. – TheFrozenOne
Il metodo '.data' di jQuery proverà a convertire qualunque cosa si trovi nell'attributo' data- * '- se lo si vuole come valore stringa grezzo, usare' .attr ("data - *") ' – tymeJV
@tymeJV grazie per il dritta! – Matt