Мне этот код очень нравится. Но это просто не сработало. Кто-нибудь может сказать мне, почему?

for (i = 0; i < 5; i++) {

    $('myButton').click(function() {

        alert(i);

    });
}

Дело в том, что в моем браузере вообще ничего не происходило. Инструменты разработчика не показали даже ошибки.

0
pedroyanky 6 Сен 2016 в 10:12

3 ответа

Лучший ответ

Ваша проблема в том, что вы не упомянули . для класса или # для идентификатора в строке jquery:
$('myButton').click(function()

использовать префикс. для атрибута класса и # для атрибута id.

Теперь я исправил это, $('.myButton').click(function(), и здесь я создал форму и применил к ней функцию.

for (i = 0; i < 5; i++) {

    $('.myButton').click(function() {

        alert(i);

    });
}
<button type="button" class="myButton">Click Me!</button>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Ссылка jsfiddle


Ссылка jsfiddle
1
yash 6 Сен 2016 в 07:37

Вам нужно правильно использовать селектор. Я пытаюсь привести пример.

Для класса:

    <button class="myButton"></button>
    $('.myButton').click(function() {
          alert(i);
    });
   // Dot (.) is using for class in selector

Для идентификатора:

    <button id="myButton"></button>
    $('#myButton').click(function() {
          alert(i);
    });
   // Dot (#) is using for class in selector

Для выбора элемента по имени:

       <button></button>
        $('button').click(function() {
              alert(i);
        });

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

0
Ayaz Shah 6 Сен 2016 в 07:32
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <button type="button" class="myButton">Click Me!</button>


$('.myButton').click(function() {
        for (i = 0; i < 5; i++) {
                alert(i);
        }
    });
0
salik latif 6 Сен 2016 в 07:31