javascript - 常规 js int 和 jquery.val() 中的 int 有什么区别?

标签 javascript jquery

我正在使用名为 countUp.js 的脚本它基本上以动画方式递增一个整数,直到达到所需的数量。

这是我的代码:

HTML:

<h2 id="countUp-1">2500</h2>

JS

var theval = 5000;
var demo = new CountUp("countUp-1", 0, theval, 0, 2.5);
demo.start();

这成功地将我的计数器从 0 动画化到 5000。完美。

但我想要做的是为 h2 标签中已有的值 (2500) 设置动画。所以我尝试了这个。

var theval = parseInt($('#countUp-1').val());
var demo = new CountUp("countUp-1", 0, theval, 0, 2.5);
demo.start();

但是这样我得到了错误:“Uncaught TypeError: c.match is not a function”

怎么会这样呢?在这两种情况下我只是将 int 发送到 CountUp 函数?

在这里设置一个 fiddle :

https://jsfiddle.net/0yawm9jr/

最佳答案

$('countUp-1').val() 不存在(您的特定元素上没有 value 属性)。试试这个(参见working jsfiddle):

var theval = 5000;
var demo = new CountUp("countUp-1", 0, theval, 0, 2.5);
demo.start();

var theval2 = parseInt($('#countUp-2').html().split(',').join(''));
var demo2 = new CountUp("countUp-2", 0, theval2, 0, 2.5);
demo2.start();

jQuery 方法.val() 检索元素的value 属性的内容。在您的例子中,您只是使用一个 HTML 元素,并将 innerHTML 设置为您的值。因此,您需要调用 $(yourElement).html()

此外,您的号码包含逗号,因此我们需要在逗号处拆分号码,然后重新连接,不包含非数字字符。

关于javascript - 常规 js int 和 jquery.val() 中的 int 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30924490/

相关文章:

javascript - 对象的键不带 -

javascript - jQuery Mobile 没有样式化附加元素

javascript - 使用 jquery 使一个函数在具有相同类的所有 div 中工作

jquery - ASP.NET MVC 返回 Json 结果?

javascript - 如何禁止用户从当前时间选择 future 时间?

javascript - 过渡结束不触发

javascript - AJAX 请求中不存在 'Access-Control-Allow-Origin' header 错误

jquery - 将事件处理程序绑定(bind)到动态创建的元素时出现问题

javascript - 您可以使用 JavaScript 检测用户是否关闭了浏览器选项卡吗?关闭浏览器?或者离开了浏览器?

javascript - 为什么 AJAX(每 x 次重新加载 div)不起作用?