jQuery获取数据属性的值

时间:2017-03-19 08:36:25

标签: jquery

我现在多次尝试更改代码。但每次我得到NaN ......

$(window).load(function() {
    $('.ytdl').click(function() {
        var v = $(this).data('href');
        var f = $(this).data('format');

        alert(v + f);

    });
});


<a data-href="KMU0tzLwhbE" data-format="1" rel="nofollow" target="_blank" class="ytdl">Download</a>

但为什么呢?我已经尝试过将数据更改为attr。 但这一切都没有用。

1 个答案:

答案 0 :(得分:2)

只需将load更改为ready

即可
  

.ready()方法提供了一种在页面的文档对象模型(DOM)可以安全操作时运行JavaScript代码的方法。这通常是在用户查看或与页面交互之前执行所需任务的好时机,例如添加事件处理程序和初始化插件。当通过对此方法的连续调用添加多个函数时,它们在DOM按照添加顺序准备就绪时运行。从jQuery 3.0开始,jQuery确保在一个处理程序中发生的异常不会阻止随后添加的处理程序执行。    - https://api.jquery.com/ready/

所以这是一个有效的演示https://jsfiddle.net/e89gh5Lk/

  • document.ready是一个jQuery事件,它在DOM准备就绪时运行,例如:所有元素都可以找到/使用,但不一定是所有内容。
  • window.onload会在加载图像等时稍后(或在最差/失败的情况下同时)触发,因此如果您正在使用图像尺寸,则通常需要使用它。 / LI>