параметры функции
Помогите понять, плиз.
вот есть код, который заменяет тэг <p> на тэг <span>, сохраняя при этом все, что внутри <p> заключено $("p").replaceWith(function(e, myhtml){ return $("<span>").html(myhtml); }); <p>тряляля</p> Как понять, за что отвечают параметры возвратной функции? То есть, запустив код, становится ясно, что myhtml - это тот самый код внутри тэгов. Но как это понять? Не могу найти документацию, где бы разъяснялось за что отвечают параметры, сколько их и пр.. А параметр e выдает три значения подряд: 0 1 2 Что это такое? |
e - очевидно, что это порядковый номер элемента.
P.S. Вообще код выше - это реализованный через задницу .wrap . |
Цитата:
Если я возьму вот такую конструкцию: $('#myform').submit(function (e, force) { e.preventDefault(); }); здесь параметр e совсем за другое отвечает. Как понять (где прочитать) за что отвечают параметры функции в разных случаях? Цитата:
Впрочем, напишите свой вариант кода с wrap. Для данной задачи. Сравним, какой проще. |
И кстати, я не пойму, что за порядковый номер элемента? Какого элемента? В какой структуре? Весь html код состоит из фразы <p>траляля</p>
|
когда мы пишем $("p") то библиотека находит массив тегов <p>.
а если быть точней, то возвращает jQuery объект, который хранит в себе массив тегов <p> а в функцию как раз передается индекс этого массива: <!doctype html> <html> <head> <title>demo</title> <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script> </head> <body> <p>1</p> <p>2</p><p>2</p> <p>3</p> <script> $("p").replaceWith(function(e, myhtml){ console.log(e); return $("<span>").html(myhtml); }) </script> </body> </html> |
В моем коде один единственный тэг <p>
А массив выдает три значения. |
можно ваш код посмотреть? html и js
|
Так, здесь я разобрался. Забыл совсем, что пишу код на странице, которая инклудится в некую структуру. Ок. Тут все ясно.
Но вопрос был немного в другом. Как понять за что именно отвечают параметры функций в разных случаях? Выше я привожу возвратную функцию для сабмита формы. Там тоже два параметра и они совсем другое означают, нежели для replaceWith |
вот те документация про сабмит:
http://api.jquery.com/submit/#submit-eventData-handler вот те документация про replaceWith: http://api.jquery.com/replacewith/#replaceWith-function |
В функции параметры могут означать что угодно, нужно смотреть доки.
Но как минимум нужно знать, что в jQuery в функциях обработчиках событий (например, submit) всегда первым параметром идет eventData, содержащее данные о текущем событии. |
Часовой пояс GMT +3, время: 10:05. |