Вот расширение объекта-прототипа jQuery ($ .fn) для предоставления нового метода, который можно связать с функцией jQuery ().
Мне нужно было функционировать там, где мне нужно было добавить элемент в список, который я разделил. Это было добавлено в качестве необязательного параметра.
Пример доступен по адресу http://jsfiddle.net/roeburg/5F2hW/
Использование функции выглядит так:
$("ul").customSplitList(5);
Функция определяется следующим образом:
// Function definition
(function ($) {
// Function is defined here ...
$.fn.customSplitList = function (indexToSplit, elementToAddInBetween) {
// Holds a reference to the element(list)
var that = this;
var subList, newList, listLength;
// Only continue if the element is a derivitive of a list
if ($(that) && ($(that).is("ul") || $(that).is("ol"))) {
// Additionally check if the length & the split index is valid
listLength = $(that).children().length;
if ($.isNumeric(indexToSplit) && indexToSplit > 0 && indexToSplit < listLength) {
// Based on list type, create a new empty list
newList = $($(that).clone(true)).empty();
while ((subList = this.find('li:gt(' + (indexToSplit - 1) + ')').remove()).length) {
newList.append(subList);
}
if (elementToAddInBetween && $(elementToAddInBetween)) {
that.after(newList);
newList.before(elementToAddInBetween);
} else {
that.after(newList);
}
}
}
};
})(jQuery);
Надеюсь, это поможет.