1
|
$( "a" ).css( "color", "red" );
|
$.fn
获得这些方法。这个对象($.fn)包含所有jQuery的方法,并且我们要是想写自己的方法,最终他也会拥有我们所写的方法。
另外jQuery的工具方法 $.trim() 被用于去除用户出入字符串两边的空格字符,工具类方法是直属于$方法的。当你的jQuery API的扩展无法满足你的需求时,你可能会自己写一个通用的方法插件。
写一个简单的插件(
Basic Plugin Authoring)
1
2
3
4
5
|
$.fn.greenify = function() {
this.css( "color", "green" );
};
$( "a" ).greenify(); // Makes all the links green.
|
1
2
3
4
5
6
|
$.fn.greenify = function() {
this.css( "color", "green" );
return this;
}
$( "a" ).greenify().addClass( "greenified" );
|
jQuery.noConflict()
.来代替$来使用jQuery。但是,这样会破坏我们的插件,因为我们使用的是$来当做jQuery方法的别名。为了和其他插件很好的共处,并且还使用jQuery的$这个别名,我们需要将我们的代码放到一个
立即调用方法表达式
中,然后通过传递jQuery参数,将命名参数为$:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
(function ( $ ) {
$.fn.greenify = function() {
this.css( "color", "green" );
return this;
};
$.ltrim = function( str ) {
return str.replace( /^\s+/, "" );
};
$.rtrim = function( str ) {
return str.replace( /\s+$/, "" );
};
}( jQuery ));
|
1
2
3
4
5
6
7
8
9
10
|
(function ( $ ) {
var shade = "#556b2f";
$.fn.greenify = function() {
this.css( "color", shade );
return this;
};
}( jQuery ));
|
1
2
3
4
5
6
7
8
9
10
11
|
(function( $ ) {
$.fn.openPopup = function() {
// Open popup code.
};
$.fn.closePopup = function() {
// Close popup code.
};
}( jQuery ));
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
(function( $ ) {
$.fn.popup = function( action ) {
if ( action === "open") {
// Open popup code.
}
if ( action === "close" ) {
// Close popup code.
}
};
}( jQuery ));
|
each()
Method)
1
2
3
4
5
6
7
|
$.fn.myNewPlugin = function() {
return this.each(function() {
// Do something to each element here.
});
};
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
(function ( $ ) {
$.fn.greenify = function( options ) {
// This is the easiest way to have default options.
var settings = $.extend({
// These are the defaults.
color: "#556b2f",
backgroundColor: "white"
}, options );
// Greenify the collection based on the settings variable.
return this.css({
color: settings.color,
backgroundColor: settings.backgroundColor
});
};
}( jQuery ));
|
1
2
3
|
$( "div" ).greenify({
color: "orange"
});
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
(function( $ ) {
$.fn.showLinkLocation = function() {
this.filter( "a" ).each(function() {
var link = $( this );
link.append( " (" + link.attr( "href" ) + ")" );
});
return this;
};
}( jQuery ));
// Usage example:
$( "a" ).showLinkLocation();
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
(function( $ ) {
$.fn.showLinkLocation = function() {
this.filter( "a" ).append(function() {
return " (" + this.href + ")";
});
return this;
};
}( jQuery ));
|