JavaScriptの計算機で作業していますが、HTMLの「データ」属性を使用してコードをリファクタリングしています。 (私はv1.0のように10個の関数ではなく、データ入力のために1つの関数を持ちたいと思っています)私の目標はjQueryを使ってデータ属性から整数を解析することですが、壁。ここでjQueryデータメソッドの戻り値は数値に変換されません
は、HTMLのボタンの行です:
<div class="row" id ="row3">
<div data-number=“7” class="button number gray" id="seven">7
</div>
<div data-number=“8” class="button number gray" id="eight">8
</div>
<div data-number=“9” class="button number gray" id="nine">9
</div>
<div data-operand="*" class="button orange operand" id="multiply">×
</div>
</div>
はここでイベントトリガーです:
var pushNumber = function() {
var num = $(this).data("number");
var parseNum = parseInt(num);
console.log(parseNum);
console.log(typeof num);
}
私は与えられたをクリックします。
$(".number").mouseup(pushNumber);
そしてここでは、壊れた機能ですボタンの場合、console.log(parseNum)
は "NaN"を返し、console.log(typeof num)
は "文字列"を返します。 jQueryのドキュメントに基づいて、私は.dataがここに数値を返すべきだと考えます。だから、すべて言った...
1. .dataが文字列ではなく数値を返すようにするにはどうすればよいですか?
2. numでparseIntメソッドを使用できないのはなぜですか?
ここで完全なプロジェクトだ: https://codepen.io/halfalpine/pen/MeJwmV?editors=1010
は、私は私の能力を最大限に関連する何かを探してきましたが、私は短い作ってみました。このエントリが冗長であれば私の謝罪です!
サイドノートでは、HTMLの見た目にぴったりな引用符を修正する必要があります。 Ex 'data-number =" 9 "'となります。実際、それは全体の問題かもしれません。 – j08691
引用符に問題があると思いますが、実際の文字ではなく他の種類の文字です –
コードを編集するためにワードプロセッサを使用しないでください。これらの間違いはありません – Barmar