Warum ist der Wert von data-value="2.0"
auf einen String und der Wert data-value="2.5"
auf eine Zahl umgewandelt? Ich kann das gut innerhalb meiner Funktion handhaben. Ich versuche nur ein wenig mehr darüber zu verstehen, wie Javascript mit Zahlen und Strings umgeht. Diese Art von überrascht mich.HTML5 Daten- * Attribut Typ Casting Strings und Zahlen
<a data-value="2.0">2.0</a>
<a data-value="2.5">2.5</a>
$("a").click(function() {
alert(typeof $(this).data("value"));
});
Ich weiß nicht, warum dies geschieht, aber Sie können sehen, die mit einem Schwimmer Endung '0' sind gab immer vor, Saiten zu sein. Vielleicht, weil die letzte "0" irrelevant ist und so als Text interpretiert wird. Zum Beispiel: '2.5' ist Nummer und' 2.50' ist String. – TheFrozenOne
jQuery's '.data' Methode wird versuchen, was auch immer im' data- * 'Attribut zu konvertieren - wenn Sie es als rohen Zeichenfolgenwert wollen, verwenden Sie' .attr ("data - *") ' – tymeJV
@tymeJV danke für die Kopf hoch! – Matt