问题描述
||
我在javascript中有变量\“ count \”。
function click(e){ var count=0; }
我需要为每个标签唯一分配此计数变量。<label id=\"1\" onclick=\"click(this)>a</label> <label id=\"2\" onclick=click(this)>b</label>
当我单击标签时,它将调用函数click()。此处count变量不应为全局变量。标签id = 1调用的计数变量应与标签id = 2调用的计数变量不同。
即label1.count = 1
label2.count = 2;
有什么办法可以这样做吗?
解决方法
简单的方法是在HTML元素上设置任意属性。尽管它不是任何标准AFAIK的一部分,但它是跨浏览器的。
function click(e){
this.clickCount = this.clickCount ? this.clickCount + 1 : 1;
}
如果只想知道是否已以某种切换方式单击它,则可以设置一个布尔属性:
function click(e) {
this.clicked = !this.clicked;
}
如果您愿意使用jQuery,则可以使用data
方法使其更漂亮:
$(\'label\').click(function(e) {
$(this).data(\'clicked\',!$(this).data(\'clicked\'));
});