Jquery以$(名稱空間)的格式提供了一些實用程序。這些方法有助於完成編程任務。一些實用方法如下所示。
$.trim()
$.trim()用於刪除前導空格和尾隨空格
$.trim( " lots of extra whitespace " );
$.each()
$.each()用於遍歷數組和對象
$.each([ "foo", "bar", "baz" ], function( idx, val ) { console.log( "element " + idx + " is " + val ); }); $.each({ foo: "bar", baz: "bim" }, function( k, v ) { console.log( k + " : " + v ); });
.each()可以對選擇調用,以疊代選擇中包含的元素。each()而不是$.each()應用於疊代選擇中的元素。
$.inArray()
$.in array()用於返回數組中值的索引,如果值不在數組中,則返回-1。
var myArray = [ 1, 2, 3, 5 ]; if ( $.inArray( 4, myArray ) !== -1 ) { console.log( "found it!" ); }
$.extend()
$.extend()用於使用後續對象的屬性更改第一個對象的屬性。
var firstObject = { foo: "bar", a: "b" }; var secondObject = { foo: "baz" }; var newObject = $.extend( firstObject, secondObject ); console.log( firstObject.foo ); console.log( newObject.foo );
$.proxy()
$.proxy()用於返回一個始終在提供的作用域中運行的函數-即,將傳遞的函數中此函數的含義設置爲第二個參數
var myFunction = function() { console.log( this ); }; var myObject = { foo: "bar" }; myFunction(); // window var myProxyFunction = $.proxy( myFunction, myObject ); myProxyFunction();
$.browser
$.browser用於提供有關瀏覽器的信息
jQuery.each( jQuery.browser, function( i, val ) { $( "<div>" + i + " : <span>" + val + "</span>" ) .appendTo( document.body ); });
$.contains()
如果第二個參數提供的DOM元素是第一個參數提供的DOM元素的後代,則使用$.contains()返回true,無論該元素是直接子元素還是嵌套得更深。
$.contains( document.documentElement, document.body ); $.contains( document.body, document.documentElement );
$.data()
$.data()用於提供有關數據的信息
<html lang = "en"> <head> <title>jQuery.data demo</title> <script src = "https://code.jquery.com/jquery-1.10.2.js"> </script> </head> <body> <div> The values stored were <span></span> and <span></span> </div> <script> var div = $( "div" )[ 0 ]; jQuery.data( div, "test", { first: 25, last: "tutorials" }); $( "span:first" ).text( jQuery.data( div, "test" ).first ); $( "span:last" ).text( jQuery.data( div, "test" ).last ); </script> </body> </html>
輸出如下
The values stored were 25 and tutorials
$.fn.extend()
$.fn.extend()用於擴展jQuery原型
<html lang = "en"> <head> <script src = "https://code.jquery.com/jquery-1.10.2.js"> </script> </head> <body> <label><input type = "checkbox" name = "android"> Android</label> <label><input type = "checkbox" name = "ios"> IOS</label> <script> jQuery.fn.extend({ check: function() { return this.each(function() { this.checked = true; }); }, uncheck: function() { return this.each(function() { this.checked = false; }); } }); // Use the newly created .check() method $( "input[type = 'checkbox']" ).check(); </script> </body> </html>
它提供如下所示的輸出;
$.isWindow()
$.isWindow()用於識別窗口
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery.isWindow demo</title> <script src = "https://code.jquery.com/jquery-1.10.2.js"> </script> </head> <body> Is 'window' a window? <b></b> <script> $( "b" ).append( "" + $.isWindow( window ) ); </script> </body> </html>
它提供如下所示的輸出;
$.now()
它返回一個表示當前時間的數字
(new Date).getTime()
$.isXMLDoc()
$.isXMLDoc()檢查文件是否爲xml
jQuery.isXMLDoc( document ) jQuery.isXMLDoc( document.body )
$.globalEval()
$.globalEval()用於全局執行javascript
function test() { jQuery.globalEval( "var newVar = true;" ) } test();
$.dequeue()
$.dequeue()用於執行隊列中的下一個函數
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery.dequeue demo</title> <style> div { margin: 3px; width: 50px; position: absolute; height: 50px; left: 10px; top: 30px; background-color: green; border-radius: 50px; } div.red { background-color: blue; } </style> <script src = "https://code.jquery.com/jquery-1.10.2.js"></script> </head> <body> <button>Start</button> <div></div> <script> $( "button" ).click(function() { $( "div" ) .animate({ left: '+ = 400px' }, 2000 ) .animate({ top: '0px' }, 600 ) .queue(function() { $( this ).toggleClass( "red" ); $.dequeue( this ); }) .animate({ left:'10px', top:'30px' }, 700 ); }); </script> </body> </html>
它提供如下所示的輸出;