使用自定义函数扩展jQuery指定的对象

时间:2013-06-21 13:45:44

标签: jquery

使用

$.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

2 个答案:

答案 0 :(得分:5)

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

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

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

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

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

答案 1 :(得分:5)

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

删除fn

这也适用于普通元素(或任何其他对象):

var elem = document.getElementById('elem')
elem.customFunction = function(){}