Я знаю, что в JavaScript синтаксис выглядит следующим образом:
function myfunction(param){
//some code
}
Есть ли способ объявить функцию в jQuery, которая может быть добавлена к элементу? Например:
$('#my_div').myfunction()
javascript
jquery
function
multimediaxp
источник
источник
$('#myDatePickerfield').datePicker();
$("#someElement").hide()
или.addClass()
...Ответы:
Из документов :
Тогда вы делаете
источник
$('my_div').myfunction();
будет звонить<my_div></my_div>
. Вам нужен хеш-знак, чтобы ссылаться на идентификаторmy_div
.Несмотря на все ответы, которые вы уже получили, стоит отметить, что вам не нужно писать плагин для использования jQuery в функции. Конечно, если это простая одноразовая функция, я считаю, что писать плагин - это излишне. Это можно сделать гораздо проще, просто передав селектор функции в качестве параметра . Ваш код будет выглядеть примерно так:
Обратите внимание, что
$
в имени переменной$param
не требуется. Моя привычка - легко запомнить, что эта переменная содержит селектор jQuery. Вы можете просто использоватьparam
.источник
Хотя существует множество документации / учебных пособий, простой ответ на ваш вопрос таков:
Внутри этой функции
this
переменная соответствует обернутому набору jQuery, в котором вы вызывали свою функцию. Так что-то вроде:... сбросит на консоль количество элементов с классом
foo
.Конечно, в семантике есть нечто большее (а также лучшие практики и весь этот джаз), поэтому обязательно прочитайте об этом.
источник
Чтобы сделать функцию доступной для объектов jQuery, вы добавляете ее в прототип jQuery (fn - это ярлык для прототипа в jQuery) следующим образом:
Обычно это называется плагином jQuery .
Пример - http://jsfiddle.net/VwPrm/
источник
Да, вы описываете плагин jQuery.
Чтобы написать плагин jQuery, вы создаете функцию в JavaScript и назначаете ее свойству объекта
jQuery.fn
.Например
В вашей функции плагина
this
ключевое слово установлено на объект jQuery, для которого был вызван ваш плагин. Итак, когда вы делаете:Тогда
this
внутриmyfunction
будет установлен объект jQuery, возвращаемый$('#my_div')
.Смотрите http://docs.jquery.com/Plugins/Authoring для полной истории.
источник
источник
Вы также можете использовать расширение (способ создания плагинов jQuery):
Использование:
источник
Вы можете написать свои собственные плагины jQuery (функция, которая может быть вызвана на выбранных элементах), как показано ниже:
Позвоните позже, как:
источник
Да, методы, которые вы применяете к элементам, выбранным с помощью jquery, называются плагинами jquery, и в документах jquery содержится достаточно информации об авторских разработках .
Стоит отметить, что jquery - это просто javascript, поэтому в «методе jquery» нет ничего особенного.
источник
Создайте метод colorize:
Используй это:
Этот простой пример объединяет лучшее из того, как создать базовый плагин в документах jQuery, и ответы от @Candide , @Michael .
this
может быть связан . (Спасибо @Potheek.)источник
Вы всегда можете сделать это:
источник
Похоже, вы хотите расширить объект jQuery с помощью его прототипа (он же пишет плагин jQuery ). Это будет означать, что каждый новый объект, созданный посредством вызова функции jQuery (
$(selector/DOM element)
), будет иметь этот метод.Вот очень простой пример:
демонстрация
источник
Простейшим примером создания любой функции в jQuery является
источник