日韩www._日韩中文字幕91_精品成人18_中国女人久久久_日韩成人一区_美女www一区二区_国产精品片aa在线观看_九一成人免费视频_色综合一本到久久亚洲91_亚洲ww精品

網站制作如何用javascript代替Jquery

 jQuery是現在最流行的JavaScript工具庫。 據統計,目前全世界57.3%的網站使用它。也就是說,10個網站里面,有6個使用jQuery。如果只考察使用工具庫的網站制作,這個比例就會上升到驚人的91.7%。 雖然jQuery如此受歡迎,但是它臃腫的體積也讓人頭痛不已。jQuery 2.0的原始大小為235KB,優化后為81KB;如果是支持IE6、7、8的jQuery 1.8.3,原始大小為261KB,優化后為91KB。 這樣的體積,即使是寬帶環境,完全加載也需要1秒或更長,更不要說移動設備了。這意味著,如果你使用了jQuery,用戶至少延遲1秒,才能看到網頁效果??紤]到本質上,jQuery只是一個操作DOM的工具,我們不僅要問:如果只是為了幾個網頁特效,是否有必要動用這么大的庫? 2006年,jQuery誕生的時候,主要用于消除不同瀏覽器的差異(主要是IE6),為開發者提供一個簡潔的統一接口。相比當時,如今的情況已經發生了很大的變化。IE的市場份額不斷下降,以ECMAScript為基礎的JavaScript標準語法,正得到越來越廣泛的支持。開發者直接使用JavScript標準語法,就能同時在各大瀏覽器運行,不再需要通過jQuery獲取兼容性。 下面就探討如何用JavaScript標準語法,取代jQuery的一些主要功能,做到jQuery-free。 一、選取DOM元素 jQuery的核心是通過各種選擇器,選中DOM元素,可以用querySelectorAll方法模擬這個功能。 var $ = document.querySelectorAll.bind(document);  這里需要注意的是,querySelectorAll方法返回的是NodeList對象,它很像數組(有數字索引和length屬性),但不是數組,不能使用pop、push等數組特有方法。如果有需要,可以考慮將Nodelist對象轉為數組。 myList = Array.prototype.slice.call(myNodeList);  二、DOM操作 DOM本身就具有很豐富的操作方法,可以取代jQuery提供的操作方法。 尾部追加DOM元素。 // jQuery寫法   $(parent).append($(child));     // DOM寫法   parent.appendChild(child)  頭部插入DOM元素。 // jQuery寫法   $(parent).prepend($(child));     // DOM寫法   parent.insertBefore(child, parent.childNodes[0])  刪除DOM元素。 // jQuery寫法   $(child).remove()     // DOM寫法   child.parentNode.removeChild(child)  三、事件的監聽 jQuery的on方法,完全可以用addEventListener模擬。 Element.prototype.on = Element.prototype.addEventListener;  為了使用方便,可以在NodeList對象上也部署這個方法。 NodeList.prototype.on = function (event, fn) {   []['forEach'].call(this, function (el) {   el.on(event, fn);   });   return this;   };  四、事件的觸發 jQuery的trigger方法則需要單獨部署,相對復雜一些。 Element.prototype.trigger = function (type, data) {   var event = document.createEvent('HTMLEvents');   event.initEvent(type, true, true);   event.data = data || {};   event.eventName = type;   event.target = this;   this.dispatchEvent(event);   return this;   };  在NodeList對象上也部署這個方法。 NodeList.prototype.trigger = function (event) {   []['forEach'].call(this, function (el) {   el['trigger'](event);   });   return this;   };  五、document.ready 目前的最佳實踐,是將JavaScript腳本文件都放在頁面底部加載。這樣的話,其實document.ready方法(jQuery簡寫為$(function))已經不必要了,因為等到運行的時候,DOM對象已經生成了。 六、attr方法 jQuery使用attr方法,讀寫網頁元素的屬性。  $("#picture").attr("src", "http://url/to/image");  DOM元素允許直接讀取屬性值,寫法要簡潔許多。 $("#picture").src = "http://url/to/image";  需要注意,input元素的this.value返回的是輸入框中的值,鏈接元素的this.href返回的是絕對URL。如果需要用到這兩個網頁元素的屬性準確值,可以用this.getAttribute('value')和this.getAttibute('href')。 七、addClass方法 jQuery的addClass方法,用于為DOM元素添加一個class。 $('body').addClass('hasJS');  DOM元素本身有一個可讀寫的className屬性,可以用來操作class。 document.body.className = 'hasJS';   // or   document.body.className += ' hasJS';   HTML 5還提供一個classList對象,功能更強大(IE 9不支持)。 document.body.classList.add('hasJS');   document.body.classList.remove('hasJS');   document.body.classList.toggle('hasJS');   document.body.classList.contains('hasJS');  八、CSS jQuery的css方法,用來設置網頁元素的樣式。 $(node).css( "color", "red" );  DOM元素有一個style屬性,可以直接操作。 element.style.color = "red";;   // or   element.style.cssText += 'color:red';  九、數據儲存 jQuery對象可以儲存數據。 $("body").data("foo", 52);  HTML 5有一個dataset對象,也有類似的功能(IE 10不支持),不過只能保存字符串。
返回新聞列表
日韩www._日韩中文字幕91_精品成人18_中国女人久久久_日韩成人一区_美女www一区二区_国产精品片aa在线观看_九一成人免费视频_色综合一本到久久亚洲91_亚洲ww精品
精品久久久中文字幕| 久久精品九九| 国产精品xvideos88| 欧美一区久久久| 男女男精品网站| 伊人久久综合影院| 亚洲日本va中文字幕| 亚洲欧美在线综合| 久久精品国产精品亚洲综合| 日韩1区2区| 欧美体内she精视频在线观看| 国产成人福利av| 五月综合久久| 国产乱码精品一区二区亚洲| 99精品国产99久久久久久福利| 日韩伦理福利| 国产精品国内免费一区二区三区| 亚洲作爱视频| 亚洲午夜极品| 久久久噜噜噜久久狠狠50岁| 97se亚洲| 日本精品在线播放| 日本在线中文字幕一区| 欧美国产亚洲精品| 中文在线播放一区二区| 日本中文字幕一区| 日本久久一区| 精品女同一区二区三区在线观看| av在线日韩| 黄色亚洲网站| 黑人精品一区| 多野结衣av一区| 日韩成人精品一区二区| 国产精品久久观看| 中文字幕高清在线播放| 手机在线一区二区三区| 日韩1区2区| 深夜成人在线| 九九精品调教| 日韩专区视频| 日本欧美一区二区在线观看| 一区二区日本视频| 欧美日韩亚洲一区二区三区在线| 麻豆国产一区二区| 欧美激情综合色综合啪啪| 一区二区中文字| 99精品女人在线观看免费视频 | 国产精品主播| 日本午夜精品视频在线观看| 日本va欧美va精品| 成人在线视频区| 日韩电影在线观看网站| 欧美日韩网址| 国内精品视频在线观看| 亚洲欧美偷拍自拍| 丝袜亚洲另类欧美| 高清不卡亚洲| 国产伊人久久| 99精品女人在线观看免费视频| 日韩免费电影在线观看| 伊人久久噜噜噜躁狠狠躁| 黄色免费大全亚洲| 国产综合欧美| 免费成人在线视频观看| 欧美中文字幕精在线不卡| 99精品国产在热久久婷婷| 欧美日韩一区二区三区四区在线观看 | 免播放器亚洲| 国产高清不卡| 国产精品最新自拍| 国产亚洲字幕| 精品深夜福利视频| 亚洲激情二区| 手机av在线| 国产精品九九| 欧美日韩调教| 亚洲一区欧美二区| 日韩经典一区| 国产在线一区不卡| 精品国产乱码久久久久久1区2匹| 女人香蕉久久**毛片精品| 蜜桃视频在线一区| 一区二区三区四区五区精品视频| 美女久久99| 欧美一区2区| 在线看片国产福利你懂的| 日本欧美久久久久免费播放网| 亚洲人成网站77777在线观看| 精品三级av| 日韩成人精品一区| 国产精品v日韩精品v欧美精品网站| 久久99精品久久久野外观看| 久久免费av| 亚洲精品成人图区| 国产精品日韩精品在线播放| 久久久人成影片免费观看| 免播放器亚洲一区| 麻豆极品一区二区三区| 激情亚洲另类图片区小说区| 亚洲欧美日韩国产| 日韩精品久久理论片| 亚洲国产欧美在线观看| 免费国产自线拍一欧美视频| 久久国产人妖系列| www.久久东京| av在线中出| 亚洲精品无吗| 亚洲一区二区成人| 国内综合精品午夜久久资源| 成人免费电影网址| 成人va天堂| 91欧美极品| 日韩国产一区二区| 日韩欧美ww| 美美哒免费高清在线观看视频一区二区| 麻豆免费看一区二区三区| 国产精品高潮呻吟久久久久| 欧美国产一区二区三区激情无套| 97色婷婷成人综合在线观看| 蜜臀av免费一区二区三区| 色999久久久精品人人澡69| 精品无人区麻豆乱码久久久| 涩涩视频在线播放| 中文字幕av一区二区三区四区| 丝袜国产日韩另类美女| 国产精品视频一区二区三区综合| 一本一道久久a久久精品蜜桃| 国产日韩欧美一区在线| 久久久精品性| 高清亚洲高清| 久久九九免费| 久久99国产精品二区高清软件| 国产精品白浆| 国产精品第一| 伊人成综合网伊人222| 欧美在线免费| 欧美.www| 一区二区三区在线| 久久av最新网址| 欧美久久亚洲| 97精品国产福利一区二区三区| 久久中文字幕一区二区| 免费成人在线电影| 久久精品国产清高在天天线| 国产精品久久久久久久免费软件| 久久要要av| 欧美黄色精品| 四虎成人av| 51精品国产| 欧美黑粗硬大| 国产农村妇女毛片精品久久莱园子 | 制服丝袜日韩| 99久久这里有精品| 中文字幕成在线观看| 久久久久中文| 久久悠悠精品综合网| 欧美freesextv| 青青草91久久久久久久久| 一区二区国产精品| 亚洲综合好骚| 99精品国产高清一区二区麻豆| 久久三级毛片| 国产精品美女久久久浪潮软件| 日产国产高清一区二区三区 | 国产成人精品三级高清久久91| 成人影视亚洲图片在线| 免费日韩一区二区三区| 久久亚洲道色| 日韩成人高清| 伊人蜜桃色噜噜激情综合| 亚洲国产欧美在线观看| 日日夜夜免费精品视频| 色天天久久综合婷婷女18| 女同一区二区三区| 精品一区二区三区免费看| 日韩成人影音| 91久久夜色精品国产九色| 亚洲一二三区视频| 亚洲精品一级| 日韩在线观看| 宅男噜噜噜66一区二区| 国产精品主播在线观看| 欧美国产三区| 国内精品伊人| 欧美激情777| 免费成人av| 国产精品一区二区中文字幕| 国产剧情一区二区在线观看| 祥仔av免费一区二区三区四区| 免费国产自线拍一欧美视频| 日韩精品影视| 少妇精品在线| 精品一区二区三区在线观看视频| 欧美影院一区| 香蕉视频亚洲一级| 免费不卡在线观看| 亚洲综合99| 欧美日韩精品| 宅男在线一区| 久久久久蜜桃|