jQuery获取数据属性不起作用

时间:2015-07-14 15:06:56

标签: javascript jquery html5

我有一个脚本,它会生成一个带有类的按钮,我希望它在点击时提醒数据属性,但它不起作用。

这是HTML的输出

<button class="request box-button" data-value="18492500814">Request</button>

jQuery代码

$(document).ready(function(){
    $('.request').each(function () {
        var photoID = $(this);
        photoID.click(function () {
            alert($(this).data('value'));
        });
    });
});

2 个答案:

答案 0 :(得分:5)

由于页面加载时元素不存在,因此事件不会绑定到它们。使用事件委派

修复此问题
$(document).ready(function(){
    $(document).on('click','.request', function () {
            alert($(this).data('value'));
    });
});
带有动态生成元素的

JS Fiddle demo

注意:在这里,我使用了$(document).on(),因为我没有页面的结构。但是,如果您将按钮插入HTML中已存在的容器中,请改为使用:$('#myContainer').on()。它不会引人注意,但最好是性能。

答案 1 :(得分:0)

尝试使用In-App-Purchases方法。

&#13;
&#13;
attr
&#13;
$(document).ready(function(){
    $('.request').each(function () {
        var photoID = $(this);
        photoID.click(function () {
            alert($(this).attr('data-value'));
        });
    });
});
&#13;
&#13;
&#13;