数据属性date-total-cost
的值为100
。
var total_cost = $('.output--lisence-cost').data('date-total-cost');
但变量total_cost
会返回NaN
如何设置变量以返回数据字段的编号?
UPDATE ...
我还在以下函数中设置数据属性的值...
function Cost() {
$('.output--lisence-cost').attr('data-total-cost',totalSeatsCost);
}
使用范围滑块设置var totalSeatsCost
。
答案 0 :(得分:2)
使用attr
代替data
var total_cost = $('.output--lisence-cost').attr('date-total-cost');
答案 1 :(得分:0)
如果放置在中的值为total_cost
,NaN
将仅为NaN
。如果您希望填充该值,则值得研究设置该值的代码。
那就是说,你可以使用Javascripts'通过使用逻辑或运算符将NaN
强制转换为默认值的虚假性质,如下所示:
var total_cost = NaN; // $('.output--lisence-cost').data('date-total-cost');
console.log(total_cost || 100); // returns '100' if value was undefined/false/NaN

答案 2 :(得分:0)
API reference for .data(key)
说明了这一点(强调我的):
返回指定数据存储区中第一个元素的值 jQuery集合,由数据(名称,值)或HTML5数据设置 - * 属性。
换句话说,它不会操纵值将其转换为数字。
唯一的解决方案是不首先插入NaN
- 一旦你无法恢复原始值。你怎么样?
> console.log(Number('Foo'));
NaN
> console.log(Number('Bar'));
NaN
> console.log(Number('Apples!'));
NaN
答案 3 :(得分:0)
数据的返回值被视为字符串。我想你正试图根据这个价值进行一些学习。
尝试通过以下方式将返回数据转换为数字:
+total_cost
或
Number(total_cost)