在切换时在javascript对象内递增

时间:2017-11-10 15:22:04

标签: javascript jquery html

我正在编写一个程序,我可以切换各种项目并希望它跟踪我切换特定项目的次数。我创建了一个function,它将使用每个对象的id并根据id进行切换。但是,当我尝试计算切换特定id的次数时,我获得的是所有切换的总数,而不仅仅是id

以下是我希望切换的项目:

<p id="demo1" onClick="reply_click(this.id)">demo1</p>
<p id="demo2" onClick="reply_click(this.id)">demo2</p>
<p id="demo3" onClick="reply_click(this.id)">demo3</p>

以下是切换并计算切换次数的JavaScript:

var pop = {};
function reply_click(bid) {
$(document).ready(function(){
    $("#" + bid).toggleClass("active");
    if (typeof pop.bid === "undefined") {
        pop.bid = 0;}
    else {pop.bid = pop.bid + 1};
    document.getElementById(bid).innerHTML = pop.bid + " " + bid;
});
}

任何人都可以修复我的代码或者给我一种增加单个项目而不是所有项目的替代方法吗?谢谢!

2 个答案:

答案 0 :(得分:1)

你做错了。试试这个:

pop[bid]

而不是:

pop.bid

答案 1 :(得分:0)

  

任何人都可以修复我的代码或者给我一个替代方法   增加单个项目而不是所有项目?

您正在调用创建事件处理程序document.ready的方法,该方法不太可能被触发。

&#13;
&#13;
var pop = {};

$( "p" ).click( function(){
  var id = $(this).attr( "id" ) ;
  pop[ id ] = pop[ id ] || 0;
  pop[ id ]++;
  $(this).html( "Click counter" + pop[ id ] );
});  
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p id="demo1">demo1</p>
<p id="demo2">demo2</p>
<p id="demo3">demo3</p>
&#13;
&#13;
&#13;