我知道在JavaScript中语法如下:
function myfunction(param){
//some code
}
有没有一种在jQuery中声明函数的方法,可以将其添加到元素中?例如:
$('#my_div').myfunction()
function myfunction(param){
//some code
}
有没有一种在jQuery中声明函数的方法,可以将其添加到元素中?例如:
$('#my_div').myfunction()
来自文档:
(function( $ ){
$.fn.myfunction = function() {
alert('hello world');
return this;
};
})( jQuery );
那么你需要执行
$('#my_div').myfunction();
<my_div></my_div>
。你需要在那里加上井号来引用 id my_div
。 - Candide(function( $ ){ ... }( jQuery ));
而不是(function( $ ){ ... })( jQuery );
- fpierratfunction myFunction($param) {
$param.hide(); // or whatever you want to do
...
}
myFunction($('#my_div'));
请注意,变量名$param
中的美元符号$
并不是必须的。这只是我的习惯,让我更容易记住该变量包含一个jQuery选择器。您也可以使用param
。
虽然有大量的文档/教程,但是对于你的问题简单的答案是这样的:
// to create a jQuery function, you basically just extend the jQuery prototype
// (using the fn alias)
$.fn.myfunction = function () {
// blah
};
在这个函数内部,this
变量对应于你调用函数的 jQuery 封装集合。因此类似这样的内容:
$.fn.myfunction = function () {
console.log(this.length);
};
$('.foo').myfunction();
此代码将在控制台中输出类名为foo
的元素数量。
当然,语义化还有更多细节(包括最佳实践等),因此请确保阅读相关文献。
jQuery.fn.myFunction = function() {
// Usually iterate over the items and return for chainability
// 'this' is the elements returns by the selector
return this.each(function() {
// do something to each item matching the selector
}
}
通常这被称为jQuery插件。
没错 - 你所描述的是一个jQuery插件。
为了编写一个jQuery插件,你需要在JavaScript中创建一个函数,并将其分配给对象 jQuery.fn
上的属性。
例如:
jQuery.fn.myfunction = function(param) {
// Some code
}
在您的插件函数内,this
关键字设置为调用您的插件的 jQuery 对象。因此,当您执行以下操作时:
$('#my_div').myfunction()
然后在myfunction
内部,this
将被设置为$('#my_div')
返回的jQuery对象。
请查看http://docs.jquery.com/Plugins/Authoring获取完整信息。
$(function () {
//declare function
$.fn.myfunction = function () {
return true;
};
});
$(document).ready(function () {
//call function
$("#my_div").myfunction();
});
你也可以使用 extend(创建 jQuery 插件的方式):
$.fn.extend(
{
myfunction: function ()
{
},
myfunction2: function ()
{
}
});
使用方法:
$('#my_div').myfunction();
您可以像下面这样编写自己的jQuery插件(可以在选定的元素上调用的函数):
(function( $ ){ $.fn.myFunc = function(param1, param2){ //this - jquery对象保存您选择的元素 } })( jQuery );
稍后可以像这样调用它:
$('div').myFunc(1, null);
是的,使用jquery选择的元素所应用的方法被称为jquery插件,在jquery文档中有关于撰写插件的大量信息。
值得注意的是,jquery实际上就是javascript,因此“jquery方法”并没有什么特殊之处。
$('#myDatePickerfield').datePicker();
” - Jamiec$("#someElement").hide()
或.addClass()
... - nnnnnn