2011-05-27 2 views
0

У меня есть переменная «count» в javascript. function click(e){ var count=0; } Мне нужно назначить эту переменную счет однозначно для каждой метки. <label id="1" onclick="click(this)>a</label> <label id="2" onclick=click(this)>b</label>есть ли способ назначить переменную уникальной для каждого элемента в html

Когда я нажимаю на метку, которую он вызывается функцией click(). там переменная count не должна быть глобальной. переменная count для вызова метки id = 1 должна отличаться от значения вызова метки id = 2.

ie label1.count = 1 label2.count = 2;

Есть ли способ сделать это? ?????

+0

Можете ли вы использовать jQuery? –

+1

FYI: атрибуты 'id', а также многие другие атрибуты HTML не могут законно начинаться с числа. Вы должны избегать этого, так как это вызовет проблемы. –

+0

Используете ли вы какие-либо javascript-фреймворки или вам нужен простой ole javascript? – Marc

ответ

0

Простым способом является установка произвольного свойства в элементе 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')); 
}); 
+0

спасибо ............ это то, что Я ищу ....... – thuk

+0

Есть ли способ найти, есть ли

+0

@thuk Я уверен, что есть способ. Это зависит от контекста. В обработчике кликов вы можете сделать 'if (this.clicked) {' – lonesomeday

Смежные вопросы