【发布时间】:2011-06-10 05:41:40
【问题描述】:
我知道你可以通过$.fn.someFunction = function()添加新的jQuery函数
但是,我只想向特定元素添加功能。我试过这个语法,它不起作用$('.someElements').fn.someFunction = function()
我想这样做,以便我可以在代码$('someElements').someFunction(); 的某处调用这样的函数
【问题讨论】:
-
我不确定这是否可能,但如果是的话,你为什么要削弱你的代码?如果要将其限制为某些选择器,请使用这些选择器。或者,缓存来自
$('.someElements')的结果,然后将该函数作为该变量加上.someFunction()稍后调用。 -
问题是 $(...).fn 不存在,只有 $.fn。并且仅仅设置 $(...).someFunction 并没有相同的效果,因为它不会在每个元素上运行它自己的上下文。
-
@Robert 我不知道为什么 OP 想要它,但我想将函数绑定到元素,以便调用函数不需要区分元素。我有多个字段类型,每个都调用它自己的验证方法——因为我的 AJAX 调用主要是在没有 AJAX 的情况下复制表单所做的事情,所以编写一个可以调用验证函数的函数是有意义的,然后只需使用 name 属性和如果我使用 HTML 提交按钮,构建将发送的 POST 数据的值。这样看起来更像是 OOP。
-
简单:
var someElements = $('.someElements'); someElements.myFunc = function() { /* code here */ };