jquery - jQuery 数据方法的返回值不会转换为 Number

标签 jquery html

我正在开发一个 JavaScript 计算器,并且正在重构代码以通过使用 HTML“数据”属性来干燥它。 (我想要一个用于数据输入的函数,而不是十个函数——每个数字一个——就像我在 v1.0 中那样。)我的目标是使用 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">&times;
  </div>
</div>

这是一个事件触发器:

$(".number").mouseup(pushNumber);

这是损坏的函数:

var pushNumber = function() {
var num =  $(this).data("number");
var parseNum = parseInt(num);
console.log(parseNum);
console.log(typeof num);
}

当我单击给定按钮时,console.log(parseNum) 返回“NaN”,而 console.log(typeof num) 返回“string”。根据 jQuery 的文档,我认为 .data 应该在此处返回一个数字。所以,综上所述...
1. 如何确保.data返回数字而不是字符串?
2. 为什么我不能对num使用parseInt方法?

这是完整的项目: https://codepen.io/halfalpine/pen/MeJwmV?editors=1010

我已尽我最大的努力寻找相关的内容,但未能找到。如果此条目是多余的,我深表歉意!

最佳答案

问题是你的有趣的引号,看看你的控制台,它正在输出它们的值。

数据编号=“8”

应该是

数据编号=“8”

关于jquery - jQuery 数据方法的返回值不会转换为 Number,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38086348/

相关文章:

javascript - jQuery 数据表将数据导出到 Excel

javascript - $.getJSON .always() 方法不会在 HTTP 错误时执行

jquery - 通过单击数据表中的按钮打开模式

javascript - 单击具有相同父 div 的按钮时显示 div

javascript - 使用 jquery 进行文本旋转

javascript - 在 javascript/jquery 中选中复选框

html - Google 自定义搜索引擎需要很长时间才能加载到网页上?

html - 如何在使用无序列表设置表单样式时对齐单选按钮?

php - jReject 在 IE7 中不起作用

javascript - 查看 json 并单击该 json 中的 links.json 并将其替换为当前的 json View