как скрипт находит значение n в функции (n)

0

Я новичок в jQuery. Я увидел программу онлайн и обнаружил, что значение n в функции начинается с 0 до такого количества этого элемента. В приведенном ниже примере элемент img появляется один раз, и jQuery получает этот элемент на основе индекса (который он получает от переменной n в функции), а затем выполняет операцию. Не могли бы вы объяснить, как определяется значение и определено значение n.

    <!DOCTYPE html>
    <html>
    <head>
    <script src="/jquery.min.js">
    </script>
    <script>
    $(document).ready(function(){
      $("button").click(function(){
        $("img").attr("width",function(n,v){
          return v-50;
        });
      });
    });
    </script>
    </head>
    <body>

    <img src="img_pulpitrock.jpg" alt="Pulpit Rock" width="284" height="213">
    <br>
    <button>Decrease image width by 50px</button>

    </body>
    </html>
  • 0
    @Satpal Это не вопрос документации jQuery, это вопрос о аргументах блока.
Показать ещё 2 комментария
Теги:

1 ответ

0

Он использует функцию обратного вызова, определенную в jquery. Функциональной сигнатурой является function(index, attr)

Из документации jquery

Функция, возвращающая значение для установки. это текущий элемент. Получает индексную позицию элемента в наборе и значение старого атрибута в качестве аргументов.

Ваш метод:

$("img").attr("width",function(n,v){
          return v-50;
});

предположительно не может работать, потому что v (текущее значение атрибута) может быть undefined. В этом случае он вернет NaN.

Не стесняйтесь играть с этим jsbin

  • 0
    текущее значение атрибута - «284», которое при использовании рядом с -50 будет преобразовано в число.
  • 0
    @KevinB Я согласен. Тем не менее, атрибут также может быть undefined , поэтому имеет смысл вставлять v в число вручную.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню