摘要:原文地址已经准备好了,可能你还没有准备好拥抱它。那为啥不用呢。。浏览这些轻量的找一个服务于你特殊需求的,但是首先你必须确信一点原生的足够满足你实现你的需求
原文地址
javascript已经准备好了,可能你还没有准备好拥抱它。
那为啥不用jquery呢。。因为它慢啊。而且体积还不小,你的网站可能真的不是特别需要,
Select elements
// jQuery var els = $(".el"); // Native var els = document.querySelectorAll(".el"); // Shorthand var $ = function (el) { return document.querySelectorAll(el); } var els = $(".el"); // Or use regex-based micro-selector lib // http://jsperf.com/micro-selector-libraries
Create elements
// jQuery var newEl = $(""); // Native var newEl = document.createElement("div"); Add event listener // jQuery $(".el").on("event", function() { }); // Native [].forEach.call(document.querySelectorAll(".el"), function (el) { el.addEventListener("event", function() { }, false); });
Set/get attribute
// jQuery $(".el").filter(":first").attr("key", "value"); $(".el").filter(":first").attr("key"); // Native document.querySelector(".el").setAttribute("key", "value"); document.querySelector(".el").getAttribute("key");
Add/remove/toggle class
// jQuery $(".el").addClass("class"); $(".el").removeClass("class"); $(".el").toggleClass("class"); // Native document.querySelector(".el").classList.add("class"); document.querySelector(".el").classList.remove("class"); document.querySelector(".el").classList.toggle("class"); Append // jQuery $(".el").append($("")); // Native document.querySelector(".el").appendChild(document.createElement("div"));
Clone
// jQuery var clonedEl = $(".el").clone(); // Native var clonedEl = document.querySelector(".el").cloneNode(true);
Remove
// jQuery $(".el").remove(); // Native remove(".el"); function remove(el) { var toRemove = document.querySelector(el); toRemove.parentNode.removeChild(toRemove); }
Parent
// jQuery $(".el").parent(); // Native document.querySelector(".el").parentNode;
Prev/next element
// jQuery $(".el").prev(); $(".el").next(); // Native document.querySelector(".el").previousElementSibling; document.querySelector(".el").nextElementSibling;
XHR aka AJAX
// jQuery $.get("url", function (data) { }); $.post("url", {data: data}, function (data) { }); // Native // get var xhr = new XMLHttpRequest(); xhr.open("GET", url); xhr.onreadystatechange = function (data) { } xhr.send(); // post var xhr = new XMLHttpRequest() xhr.open("POST", url); xhr.onreadystatechange = function (data) { } xhr.send({data: data});
这还只是一小部分呐,你没事可以console.log 一下然后通过浏览器看看有哪些原生的用法,或者瞅瞅
MDN’s JS API reference或者WPD’s DOM docs.
你仍然可以用libs。浏览这些轻量的ultra-lightweight找一个服务于你特殊需求的lib,但是首先你必须确信一点原生的js足够满足你实现你的需求
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/91559.html
摘要:以下是和实现相同操作的等价代码选择元素函数法调用创建元素添加事件监听器设置获取属性添加移除切换类附加内容克隆元素移除元素获取父元素上一个下一个元素或这些只是很少的一部分,不能等到哪一天变成只会用了, 以下是jQuery和JavaScript实现相同操作的等价代码 选择元素 //jQuery var ele = $(.ele); //javascript var ele = docum...
摘要:有一个和相关的更大的问题。最后,请负有责任感并且使用安全的扩展。深入理解五部曲异步问题深入理解五部曲转换问题深入理解五部曲可靠性问题深入理解五部曲扩展性问题深入理解五部曲乐高问题最后,安利下我的个人博客,欢迎访问 原文地址:http://blog.getify.com/promis... 现在,我希望你已经看过深入理解Promise的前三篇文章了。并且假设你已经完全理解Promises...
摘要:最近看到知乎上面很多讨伐培训班的问答文章,不禁想到了我和新手同事合作的一些经历其实你是培训班出来还是计算机科班毕业,没人在乎,关键是你表现出来的一些问题切切实实的对你的同事或合作伙伴造成了很大困扰,而且这些问题集中在某一部分人身上显露出来, 最近看到知乎上面很多讨伐培训班的问答、文章,不禁想到了我和新手同事合作的一些经历; 其实你是培训班出来还是计算机科班毕业,没人在乎,关键是你表...
阅读 2201·2021-11-22 11:56
阅读 2647·2021-10-08 10:05
阅读 7772·2021-09-22 15:53
阅读 1910·2021-09-22 15:29
阅读 2234·2021-09-08 09:35
阅读 3354·2021-09-07 10:12
阅读 1379·2019-08-30 13:11
阅读 1968·2019-08-28 17:54