亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jQuery函數的等價原生函數代碼示例

2019-11-20 22:41:11
字體:
來源:轉載
供稿:網友
我們針對常用的jQuery方法以及其等價原生方法的性能做了一些測試(1, 2, 3)。
我知道你在想什么。原生方法明顯要比jQuery方法快,因為jQuery方法要處理瀏覽器兼容以及其他一些事情。是的,我完全贊成。寫這篇文章并不是出于反對使用jQuery,但如果你針對的是現代瀏覽器,那么使用原生方法會使性能有很大的提升。

許多開發者沒有意識到大多數他們使用的jQuery方法可以使用原生方法,或者更輕量級的方法來代替。下面是一些代碼示例,展示一些常用的jQuery方法,以及其等價原生方法。

譯者注:需要注意下面有些原生方法是HTML5引用的,部分瀏覽器可能不能使用。

選擇器
jQuery的核心之一就是能非常方便的取到DOM元素。我們只需輸入CSS選擇字符串,便可以得到匹配的元素。但在大多數情況下,我們可以用簡單的原生代碼達到同樣的效果。
復制代碼 代碼如下:

//----得到頁面的所有div---------
/* jQuery */
$("div")
/* 原生 */
document.getElementsByTagName("div")
//----得到所有指定class的元素---------
/* jQuery */
$(".my-class")
/* 原生 */
document.querySelectorAll(".my-class")
/* 更快的原生方法 */
document.getElementsByClassName("my-class")
//----通過CSS選擇得到元素----------
/* jQuery */
$(".my-class li:first-child")
/* 原生 */
document.querySelectorAll(".my-class li:first-child")
//----得到指定clsss的第一個元素----
/* jQuery */
$(".my-class").get(0)
/* 原生 */
document.querySelector(".my-class")

譯者注:其實這里面是有些問題的,document.querySelectorAll和jQuery選擇器還是有區別的,前者返回的是一個NodeList,而后者返回的是一個類數組對象。
DOM操作
jQuery還在DOM操作上頻繁使用,例如插入或者刪除元素。我們也可以使用原生方法來進行這些操作,你會發現這需要寫額外的代碼,當然也可以寫自己的輔助函數來讓使用起來更容易。下面是一些將元素插入到頁面中的例子。
復制代碼 代碼如下:

//----插入元素----
/* jQuery */
$(document.body).append("<div id='myDiv'><img src='im.gif'/></div>");
/* 蹩腳的原生方法 */
document.body.innerHTML += "<div id='myDiv'><img src='im.gif'/></div>";
/* 更好的原生方法 */
var frag = document.createDocumentFragment();
var myDiv = document.createElement("div");
myDiv.id = "myDiv";
var im = document.createElement("img");
im.src = "im.gif";
myDiv.appendChild(im);
frag.appendChild(myDiv);
document.body.appendChild(frag);
//----前置元素----
// 除了最后一行
document.body.insertBefore(frag, document.body.firstChild);

CSS classes
在jQuery中,我們可以很容易對DOM元素添加、刪除、檢查它的CSS class。幸運的是,利用原生方法也可以簡單的辦到。
復制代碼 代碼如下:

// 得到DOM元素的引用
var el = document.querySelector(".main-content");
//----添加class------
/* jQuery */
$(el).addClass("someClass");
/* 原生方法 */
el.classList.add("someClass");
//----刪除class-----
/* jQuery */
$(el).removeClass("someClass");
/* 原生方法 */
el.classList.remove("someClass");
//----是否是該class---
/* jQuery */
if($(el).hasClass("someClass"))
/* 原生方法 */
if(el.classList.contains("someClass"))

修改CSS屬性
總是通過Javascript修改和檢索CSS屬性,這樣會比使用jQuery CSS函數更加簡單快速,并且沒有任何不必要的代碼。
復制代碼 代碼如下:

// 得到DOM元素引用
var el = document.querySelector(".main-content");
//----設置CSS屬性----
/* jQuery */
$(el).css({
background: "#FF0000",
"box-shadow": "1px 1px 5px 5px red",
width: "100px",
height: "100px",
display: "block"
});
/* 原生 */
el.style.background = "#FF0000";
el.style.width = "100px";
el.style.height = "100px";
el.style.display = "block";
el.style.boxShadow = "1px 1px 5px 5px red";
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品免费播放| 亚洲影院色在线观看免费| 1769国内精品视频在线播放| 亚洲国产精彩中文乱码av| 亚洲自拍偷拍色图| 2019中文字幕在线免费观看| 欧美大胆在线视频| 亚洲一区二区三区久久| 日韩精品极品在线观看播放免费视频| 欧美激情xxxxx| 亚洲精品久久久久久久久久久久| 精品电影在线观看| 日韩成人在线观看| 91精品国产综合久久香蕉的用户体验| 国产精品福利小视频| 亚洲成人在线视频播放| 国产成人综合av| 日韩久久精品成人| 亚洲成人xxx| 色小说视频一区| 91嫩草在线视频| 激情av一区二区| 国产精品久久久久久av| 亚洲国产91精品在线观看| 国产精品欧美一区二区三区奶水| 26uuu另类亚洲欧美日本老年| 成人伊人精品色xxxx视频| xxxxx成人.com| 亚洲激情在线观看| 亚洲精品乱码久久久久久按摩观| 日韩人体视频一二区| 国产精品国产福利国产秒拍| 日韩av影院在线观看| 国产精品美女午夜av| 欧美日韩在线看| 欧美在线亚洲在线| 久久久久久网址| 欧美老女人bb| 久久天天躁狠狠躁夜夜躁| 色妞在线综合亚洲欧美| 国产一区二区三区在线视频| 日韩中文在线中文网在线观看| 久久av.com| 精品久久久av| 欧美高清第一页| 亚洲香蕉成视频在线观看| 色妞久久福利网| 国产啪精品视频网站| 中文字幕在线看视频国产欧美在线看完整| 国产精品一区专区欧美日韩| 欧美xxxx14xxxxx性爽| 亚洲国内高清视频| 亚洲人成毛片在线播放| 国产精品99免视看9| 日韩欧美国产骚| 欧美极品第一页| www国产精品视频| 色天天综合狠狠色| 欧洲亚洲免费视频| 成人激情春色网| 国产不卡在线观看| 成人免费在线视频网址| 久久精品青青大伊人av| 久久综合伊人77777| 美女999久久久精品视频| 欧美性生交大片免网| 日产日韩在线亚洲欧美| 亚洲成人av片在线观看| 久久久久久亚洲| 亚洲免费精彩视频| 久久久久久久一区二区三区| 欧美精品在线观看91| 亚洲欧美日韩精品久久亚洲区| 欧美丝袜一区二区三区| 国产欧美精品在线播放| 高跟丝袜欧美一区| 久久精彩免费视频| 亚洲аv电影天堂网| 久久成年人免费电影| 欧美整片在线观看| 久久免费视频网| 国产精品视频网| 国产精品久久久久久久久粉嫩av| 久久久久久久一区二区三区| 国产精品久久久久国产a级| 久久人人爽人人爽人人片av高请| 日韩高清av一区二区三区| 97香蕉超级碰碰久久免费软件| 亚洲免费av网址| 国产91色在线| 91精品国产91| 日韩成人在线电影网| 成人伊人精品色xxxx视频| 国产精品福利久久久| 国产精品入口免费视| 国产网站欧美日韩免费精品在线观看| 欧美成人精品影院| 伊人亚洲福利一区二区三区| 亚洲精美色品网站| 亚洲第一色中文字幕| 欧美一区视频在线| 中文字幕亚洲专区| 久久亚洲精品网站| 欧美精品成人91久久久久久久| 狠狠躁18三区二区一区| 久久久国产精品视频| 亚洲精品国产综合区久久久久久久| 中文字幕精品av| 在线看国产精品| 国产美女精品视频免费观看| 欧美性猛交视频| 精品国产成人在线| 亚洲a∨日韩av高清在线观看| 日韩亚洲欧美成人| 国产精品视频永久免费播放| 久久久久久高潮国产精品视| 久久99久久亚洲国产| 91免费综合在线| 欧美老少做受xxxx高潮| 国模极品一区二区三区| 日韩av免费在线播放| 亚洲精品成a人在线观看| 国产精品爽爽ⅴa在线观看| 国产激情久久久| 亚洲精品视频网上网址在线观看| 国产精品主播视频| 久99久在线视频| 欧美午夜影院在线视频| 欧美成人sm免费视频| 91精品国产91久久久久久不卡| 国产精品一区二区三区在线播放| 国产欧美一区二区白浆黑人| 国产精品草莓在线免费观看| 91国产精品视频在线| 亚洲一级免费视频| 国产精品美女久久久久av超清| 亚洲成人性视频| 亚洲国产成人精品女人久久久| 国产亚洲精品综合一区91| 97在线视频一区| 美女性感视频久久久| 18性欧美xxxⅹ性满足| 国产精品一区av| 在线精品国产欧美| 欧美在线国产精品| 欧美亚州一区二区三区| 国产成人免费av| 亚洲美女精品成人在线视频| 亚洲欧美一区二区激情| 国产欧美在线播放| 精品人伦一区二区三区蜜桃网站| 国产香蕉97碰碰久久人人| 久久99精品国产99久久6尤物| 91香蕉嫩草影院入口| 黑人精品xxx一区一二区| 久久激情视频免费观看| 欧美激情精品在线| 日韩中文字幕在线| 久久精品视频99| 7m精品福利视频导航| 亚洲一区二区免费| 亚洲人成在线观看网站高清| 精品久久久香蕉免费精品视频| 日韩欧美极品在线观看|