$.fn.extend(object) применяется для расширения функциональности jQuery, добаляя новые методы.
$.extend(object) расширяет непосредственно сам объект jQuery.
Эти функции обычно используются для написания плагинов. Рассмотрим пример:
Допустим мы хотим написать плагин, который будет выделять четные и нечетные, четные будет окрашивать в красный цвет, а нечетные - в синий и вдобавок делать их жирными:
$(document).ready(function() {
// начало плагина
$.fn.myplugin = function(options){
var options = $.extend({
color_Even: '#ff0000', // цвет текста четных строк
color_Odd: '#0033ff' // цвет текста нечетных строк
},options);
return this.each(function() {
$(this).find('p:even').css('color', options.color_Even);
// четные строки
$(this).find('p:odd').css('color', options.color_Odd).css('font-weight', '700');
// нечетные строки
});
};
// конец плагина
// теперь мы можем использовать наш плагин
$("#example_data").myplugin();
});
$.fn.myplugin - добавляем новый метод (расширение) в jQuery. Здесь myplugin - имя, которое вы даете своему плагину.
var options = $.extend - расширяем сам плагин, т.е. задаем настройки по умолчанию (см. комменты).
return this.each(function() - запускаем обход по набору элементов (набор для плагина передадим ему, когда его вызовем). Следующие строки ищут четные/нечетные элементы и придают им css-свойства.
При желании плагин можно вынести в отдельный файл, а затем подключить, как обычно.
<div id="example_data">
<p>Параграф 1</p>
<p>Параграф 2</p>
<p>Параграф 3</p>
<p>Параграф 4</p>
</div>