- N +

jquery常用方法 jquery是干什么的

很多朋友對于jquery常用方法和jquery是干什么的不太懂,今天就由小編來為大家分享,希望可以幫助到大家,下面一起來看看吧!

jQuery真的過時了嗎

從北美市場看已經過時了!北美市場一般會領先其他地區1-3年時間。jQuery沒必要投入精力寫和學習,jQuery和ES5以前的JS搭配的。在北美市場2014年node/angular1.x普及以前,前臺程序員必用jQuery的。那個時候沒有nodeangularreact等框架和技術,而且低版本JS是水淺王八多,什么this,繼承,復制都是難點和大坑。jQ提供了很多好方法。

自從ES6和angularjs,angular2,react出來以后,前段的代碼很容易寫。在北美地區我沒見過和聽說過新項目還用jQuery的,只有老項目還在繼續湊合用。某些人說有用,就類似于七八年前明明J2EE應該用spring框架,還偏偏說struts也有用一樣,屬于站著說話不腰疼。如果菜鳥,沒必要浪費時間和精力在舊的技術上。

jquery應該怎么使用

這個問題應該問程序猿比較好,由于我也不是程序猿。所以確實不能給題主你太詳細的回答。我對jquery只能說是了解一些,但是要說到具體的應用那可就是一無所知了。

jQuery是一個快速、簡潔的JavaScript框架,是繼Prototype之后又一個優秀的JavaScript代碼庫(或JavaScript框架)。jQuery設計的宗旨是“writeLess,DoMore”,即倡導寫更少的代碼,做更多的事情...

html中使用jQuery和css,js的方法

簡單說下:css:

1、css有行內樣式、內聯樣式、外聯樣式。當然你還要學會選擇器的語法和作用1.1、行內樣式:就是在標簽中定義,如

1.

2、內聯樣式:就是在中定義,如:1.

3、外聯樣式:就是引入外部樣式文件,如:2、js:前提是會js語法2.1、使用js:2.1.1、定義:html文件定義:或者引入外部js文件:2.1.2、使用:3、jquery使用:以上都需要你學會對css使用,js語法及使用,jquery方法使用有一定了解建議你看http://www.w3school.com.cn。里面有簡單教如何使用css、js、jquery。希望能夠幫到你

jquery選擇器有幾種解析dom的方式

有類選擇器,id選擇器,標簽選擇器三種選擇器解析don方式。

jQuery: $.xxx()與$().xxx()中的$,為什么能同時支持兩種寫法

其實,這個問題去看jquery源碼就能很清楚的知道了,從樓主的問題說明里面只是明白了jquery的方法擴展方式,但并沒有真正理解其主要架構方式;

我下面所說的都是基于2.0.3版本jquery源碼進行說明,首先,描述中有幾個錯誤需要指正下:

第一,在jquery中,$('xxx').xxxx()這種寫法,其實是通過jQuery.fn.extend({xxx:function(){}})的方式進行方法綁定和擴展的,而$.xxx()這種方式的方法是通過jQuery.extend({xxx:function(){}})的方式進行方法綁定和擴展的;如下圖,$.ajax通過下圖綁定:

而$('xxxx').attr()則通過下面方式:

第二,console.log(jQuery())其實是個對象,

console.log(jQuery('#test')),如果有此元素存在,看起來像數組,如下圖,其實也是對象,這種叫“類數組”;可以百度去看下類數組相關知識;

好,下面開始說下樓主的兩個問題,第一是extend的實現方法;第二是jquery為什么能同時支持$.xxx()與$().xxx()這兩種寫法;

第一,extend的實現方法;由于源碼較多,我在這兒就不直接展示出來了,有興趣可以去找到看看;其實簡單講,extend主要用于對象的合并,如下圖;

但是從源碼可以看出,當參數只有一個對象的時候,就是直接將傳入對象合并到調用的對象上(即jquery或jquery.fn);

所以,當調用jQuery.extend時,就會將傳入的對象里面的方法合并寫入到jQuery對象上面,就可以對其進行擴展;同理,使用jQuery.fn.extend時,就可以對jQuery.fn進行擴展;

第二,$.xxx()與$().xxx()兩種的區別;第一種$.xxx()其實是調用的jQuery對象上面的方法,也就是通過jQuery.extend進行擴展的方法;有人會說,jQuery是一個函數,但是函數在js也是對象,也可以向其添加屬性和方法;而第二種$().xxx()則是調用的jQuery.fn對象上面的方法,也就是通過jQuery.fn.extend進行擴展的方法;

第一種通過jQuery.extend進行擴展的屬性和方法是直接寫入jQuery對象,所以也就可以直接通過$.xxx()的方式調用,這個很容易理解;

第二種,通過jQuery.fn.extend進行擴展的方法和屬性為何能夠通過$().xxx()進行調用呢;這個就要從jQuery的整個架構來說;當執行$()時,訪問了下圖代碼:可以看出,其實是實例化了一個jQuery.fn.init的對象;在這我們就不再討論jQuery.fn.init里面具體干了什么,但可以通過源碼可以看出,其最終執行了“returnthis”,也就是返回了jQuery.fn.init的實例對象;那如何通過$()可以訪問到jQuery.fn上面的屬性和方法呢?就是通過下圖這句代碼:

它將jQuery.fn賦給了jQuery.fn.init.prototype,所以,jQuery.fn.init的實例對象也就可以直接訪問jQuery.fn上面的方法和屬性了;所以,當你通過$().xxx()時,其實訪問了jQuery.fn.xxx()方法;

jquery選擇不存在的元素如何做到不報錯的

剛好這個月在看jquery源碼,要回答這個問題,當然要從jquery源碼來看了;

在這兒,使用的是jquery2.0.3的版本源碼進行說明;如,我們使用jquery去查找一個頁面不存在的元素$('#test')元素,看下源碼具體走了哪些;在這兒就不一步一步進行源碼分析,只是進行簡單說明;

通過下圖代碼可以看出,調用$('#test')時,會走jquery.fn.init函數;然后我們去看下此函數;

由于函數代碼量過多,就不截圖;簡單說下,此函數會對傳入的“selector”進行分類及各種情況處理;而這兒我們就看是id為test情況;首先它會通過下圖判斷

然后,會通過一個正則“match=rquickExpr.exec(selector);”進行匹配,匹配"#test"結果match如下:

然后會走原生方法document.getElementById方法:

因為頁面本來沒有此元素,所以會直接返回空(null),最后會走下圖代碼,返回最終結果由上圖代碼可知,即使返回結果為空,它也會返回一個jquery對象,里面包含context、selector屬性,還有繼承的jquery全局方法,結果如下圖:所以,如果你即使查找一個沒有的元素,它也會返回一個jquery對象,你也可以直接使用對象中所有的jquery全局方法;

上面只是用id的簡單的方式,如果是類、標簽、css等其他復雜的進行查找時,jquery會根據類型和瀏覽器的版本不同,使用不同的方式進行查找,但最終返回結果都差不多,而且即使沒有,都會返回一個jquery對象;

好了,文章到此結束,希望可以幫助到大家。

返回列表
上一篇:
下一篇: