Функция jQuery «Click» не работает

#javascript #jquery #html

#javascript #jquery #HTML

Вопрос:

У меня проблема с интеграцией javascript (jquery) и html…

HTML:

 <div id="arrows">
<div id="slideup"></div>
<div id="slidedown"></div>
</div>
  

как вы видите, у меня есть 2 подразделения с идентификаторами slideup и slidedown, после загрузки страницы я меняю идентификатор первого подразделения на newID1, и если пользователь нажимает на slidedown div, newID1 снова меняется на slideup, у меня есть две функции, и первая запускается при нажатии элемента с slideup, вторая запускается при нажатии элемента снажимается slidedown, после изменения newID1 на slideup функция, которая должна запускаться при нажатии slideup, не работает… смотрите JS-код ниже…

JavaScript (jQuery):

 $(function(){
    lastbul="bul1";
    i=1;
    $("#slideup").attr("id", "newID1");
    $("#slideup").click(function (){
        i--;
        console.log(i);
    }
    $("#slidedown").click(function (){
        i  ;
        console.log(i);
    if (lastbul=="bul1") $("#newID1").attr("id", "slideup");
            else  if (lastbul==sliderPics[sliderPics.length-1].id) $("#newID2").attr("id", "slidedown");
}
  

sliderPics — это массив, который работает нормально, не нужно это показывать…

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

1. привязать события к $(‘document’).on(‘click’, ‘#slideup’, function() { // code });

2. нет, ошибок нет, функция slideup даже не регистрирует переменную i…

Ответ №1:

Здесь :

 $("#slideup").attr("id", "newID1");
$("#slideup").click(function (){
  

Сразу после первой строки больше нет никакого #slideup элемента, поэтому вторая строка не выполняет никакой привязки.

Измените его на

 $("#slideup").attr("id", "newID1").click(function (){
  

Ответ №2:

здесь необходимо изменить вторую строку. Он не выполняет никакой привязки. Измените вторую строку на

   $("#slideup").attr("id", "newID1").click(function ()
 { **the code here**