1

$.fn.customFunction = function(){};

我们可以扩展整个 jQuery 并将其用于:

$('body').customFunction();

是否可以仅扩展指定的元素,例如:

var elem = $('#elem');
    elem.fn.customFunction = function(){};

elem.customFunction();      // function is called
$('body').customFunction(); // this call should cause error
4

2 回答 2

5
var elem = $('#elem');
elem.customFunction = function(){};

删除fn.

这也可以用于普通元素(或任何其他对象,就此而言):

var elem = document.getElementById('elem')
elem.customFunction = function(){}
于 2013-06-21T13:47:46.300 回答
5

您希望该功能在该对象上可用吗?这很容易:

var elem = $('#elem');
elem.customFunction = function() {};

请注意,这仅适用于该一个功能。例如,这将不起作用:

$('#elem').customFunction();

这是因为 jQuery 构造函数每次运行时都会创建一个新对象;它不重用对象。

于 2013-06-21T13:46:56.763 回答