как установить функцию переключения для другого идентификатора

#javascript #jquery #toggle

#javascript #jquery #переключение

Вопрос:

Я хочу разные кнопки с идентификатором и уникальную функцию для переключения, но я могу установить переменную.

 var clicked = false;

var abcElements = document.querySelectorAll('.cellInput');

// Set their ids
for (var i = 0; i < abcElements.length; i  ){

    abcElements[i].id = 'target-'   i;

    $("#target-" i).click(function () {

    if (!clicked) {
        // do something

    } else {
        // do something
    }

    clicked = !clicked;

})

}
  

Комментарии:

1. итак, в чем ваш вопрос / проблема?

2. Вероятно, вам даже не нужно привязывать каждый идентификатор, что бы вы ни пытались сделать в функциях, это, скорее всего, можно сделать с помощью атрибутов данных и привязки к классу вместо этого

3. Учитывая ваш фрагмент, буквально нет причин указывать им идентификатор. У вас уже есть каждый элемент, к которому нужно привязать элемент click. Вам не нужно указывать им идентификатор, чтобы искать их по. Они у вас уже есть

Ответ №1:

Если вы хотите отслеживать щелчок для каждого элемента, вы не можете использовать общую глобальную переменную. Однако вы можете переключать класс, чтобы отслеживать состояние каждого элемента.

 $('.cellInput').on('click', function(e){
  var $this = $(e.target);
  
  if (!$this.hasClass('clicked')) {
    $this.addClass('clicked');
    // do something
  } else {
    $this.removeClass('clicked');
    // do something
  }
});  

Комментарии:

1. И почему это проблема?