0

我正在尝试在 jquery 中增加一个属性 onclick,一次增加 1 个。

假设我有这个按钮,它是.new-rcc页面上唯一的:

<a class="new-rcc" data-attr="1" href="#"><span>Button &raquo;</span></a>

每次单击按钮时,我都需要增加data-attr1,所以它只会从 1 增加到 2 到 3 到 4,等等。

我试着做这样的事情:

var showthese = $('.new-rcc').prop('data-attr');
$('.new-rcc').click(function(){
    var showtotal = showthese++;
    $(this).prop('data-attr', showtotal);
    return false;
});

但它似乎不想工作?

4

2 回答 2

3

数据属性不是属性,所以你必须使用attr()而不是prop()

var showthese = $('.new-rcc').data('attr');
$('.new-rcc').click(function(){
    showthese++;
    $(this).attr('data-attr', showthese);
    return false;
});

小提琴

请注意,您可以使用data()来获取值,但设置值data()并不会真正更新属性,它只是由 jQuery 内部存储。

于 2013-06-11T21:17:04.083 回答
2

表达式的值showthese++是的原始showthese

您需要预增量运算符 ( ++showthese),它计算结果值。

于 2013-06-11T21:13:18.457 回答