Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.08.2014, 18:34
Аспирант
Отправить личное сообщение для зверек Посмотреть профиль Найти все сообщения от зверек
 
Регистрация: 18.06.2009
Сообщений: 88

параметры функции
Помогите понять, плиз.
вот есть код, который заменяет тэг <p> на тэг <span>, сохраняя при этом все, что внутри <p> заключено
$("p").replaceWith(function(e, myhtml){
  return $("<span>").html(myhtml);
});

<p>тряляля</p>


Как понять, за что отвечают параметры возвратной функции? То есть, запустив код, становится ясно, что myhtml - это тот самый код внутри тэгов. Но как это понять? Не могу найти документацию, где бы разъяснялось за что отвечают параметры, сколько их и пр..
А параметр e выдает три значения подряд: 0 1 2
Что это такое?
Ответить с цитированием
  #2 (permalink)  
Старый 21.08.2014, 18:45
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,585

e - очевидно, что это порядковый номер элемента.

P.S. Вообще код выше - это реализованный через задницу .wrap .
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 22.08.2014, 10:00
Аспирант
Отправить личное сообщение для зверек Посмотреть профиль Найти все сообщения от зверек
 
Регистрация: 18.06.2009
Сообщений: 88

Сообщение от Aetae
e - очевидно, что это порядковый номер элемента.
Откуда это очевидно?
Если я возьму вот такую конструкцию:
$('#myform').submit(function (e, force) {
		 e.preventDefault();      
       
    });

здесь параметр e совсем за другое отвечает.
Как понять (где прочитать) за что отвечают параметры функции в разных случаях?
Сообщение от Aetae
P.S. Вообще код выше - это реализованный через задницу .wrap .
Сомневаюсь. Требуется заменить. replaceWith именно для этого и придумана.
Впрочем, напишите свой вариант кода с wrap. Для данной задачи. Сравним, какой проще.
Ответить с цитированием
  #4 (permalink)  
Старый 22.08.2014, 10:06
Аспирант
Отправить личное сообщение для зверек Посмотреть профиль Найти все сообщения от зверек
 
Регистрация: 18.06.2009
Сообщений: 88

И кстати, я не пойму, что за порядковый номер элемента? Какого элемента? В какой структуре? Весь html код состоит из фразы <p>траляля</p>
Ответить с цитированием
  #5 (permalink)  
Старый 22.08.2014, 10:16
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

когда мы пишем $("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>
Ответить с цитированием
  #6 (permalink)  
Старый 22.08.2014, 10:20
Аспирант
Отправить личное сообщение для зверек Посмотреть профиль Найти все сообщения от зверек
 
Регистрация: 18.06.2009
Сообщений: 88

В моем коде один единственный тэг <p>
А массив выдает три значения.
Ответить с цитированием
  #7 (permalink)  
Старый 22.08.2014, 10:22
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

можно ваш код посмотреть? html и js
Ответить с цитированием
  #8 (permalink)  
Старый 22.08.2014, 10:31
Аспирант
Отправить личное сообщение для зверек Посмотреть профиль Найти все сообщения от зверек
 
Регистрация: 18.06.2009
Сообщений: 88

Так, здесь я разобрался. Забыл совсем, что пишу код на странице, которая инклудится в некую структуру. Ок. Тут все ясно.
Но вопрос был немного в другом. Как понять за что именно отвечают параметры функций в разных случаях? Выше я привожу возвратную функцию для сабмита формы. Там тоже два параметра и они совсем другое означают, нежели для replaceWith
Ответить с цитированием
  #9 (permalink)  
Старый 22.08.2014, 10:35
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

вот те документация про сабмит:
http://api.jquery.com/submit/#submit-eventData-handler

вот те документация про replaceWith:
http://api.jquery.com/replacewith/#replaceWith-function
Ответить с цитированием
  #10 (permalink)  
Старый 22.08.2014, 10:37
Профессор
Отправить личное сообщение для WorM32 Посмотреть профиль Найти все сообщения от WorM32
 
Регистрация: 11.02.2014
Сообщений: 303

В функции параметры могут означать что угодно, нужно смотреть доки.
Но как минимум нужно знать, что в jQuery в функциях обработчиках событий (например, submit) всегда первым параметром идет eventData, содержащее данные о текущем событии.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение прототипа функции tsigel Общие вопросы Javascript 11 15.05.2014 01:03
Параметры функции Pro100tom Events/DOM/Window 1 23.07.2013 18:32
Возврат данных через параметры функции jsjob Общие вопросы Javascript 4 11.03.2013 20:49
arguments вызвавшей функции mister_maxim Общие вопросы Javascript 4 12.10.2010 16:21
Кросс-браузерные функции B~Vladi Ваши сайты и скрипты 128 01.09.2009 17:11