繁体   English   中英

在jQuery中更新data-attr的值

[英]Update value of data-attr in jQuery

每当用户单击btn时,我需要更新一个数据属性。 但它不应该如何工作。 这是一个演示代码:

$('div.wrapper').on('click', 'div.btn', function(){
    var thisGuy = $(this),
        offset = thisGuy.data('showreplies');
    thisGuy.attr('data-showreplies', parseInt(offset) + 10);
    $('div.dataAttr').show().text(thisGuy.data('showreplies'));
});

这是DOM:

<div class="wrapper">
    <div class='btn' data-showreplies='10'>Click Me</div>
</div>
<div class="dataAttr"></div>

我想做的是,当用户单击btn时,data-showreplies attr的值将增加到10,然后它将在div.dataAttr中显示更新的值,对于每次单击它都会执行增量。

JsFiddle链接: https ://jsfiddle.net/hasantg/knwpdw42/6/

尝试改变

 thisGuy.attr('data-showreplies', parseInt(offset) + 10);

 thisGuy.data('showreplies', parseInt(offset) + 10);

数据功能也可以用作设置器:

$('div.wrapper').on('click', 'div.btn', function(){
        var thisGuy = $(this),
        offset = thisGuy.data('showreplies');
        thisGuy.data('showreplies', parseInt(offset) + 10);
        $('div.dataAttr').show().text(thisGuy.data('showreplies'));
});

请注意,DOM中的属性保持为10,因为jQuery具有用于数据值的内部缓存。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM