• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

如何忘却jQuery,开始使用JavaScript原生API_js

javascript 程序员 7年前 (2018-06-21) 208次浏览 已收录 0个评论
文章目录[隐藏]

  JavaScript就在这里随时等候你的召唤,但是也许你还没有准备好如何使用他。为什么不用jquery呢?因为它很慢并且你的网站真的不需要这些多余的负担。

  我不是来这里争辩原生API和函数库的迥异,开发的时候很难不用到这些神奇的东东。但是我想讨论的是:如果仅为使用个选择器($)或者类似的东西,是否真的有必要加载jQuery。

如何忘却jQuery,开始使用JavaScript原生API_js

  假设咱不是为了简化,每个人用jsomething是因为它支持IE,动画处理和选择器函数。

 原生等价物

  选择元素

 // 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

  创建元素

 // jQuery var newEl = $('<div/>');  // 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属性

 // 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');

  附加

 // jQuery $('.el').append($('<div/>'));  // Native document.querySelector('.el').appendChild(document.createElement('div'));

  克隆

 // jQuery var clonedEl = $('.el').clone();  // Native var clonedEl = document.querySelector('.el').cloneNode(true);

  移除

 // jQuery $('.el').remove();  // Native remove('.el');  function remove(el) {   var toRemove = document.querySelector(el);    toRemove.parentNode.removeChild(toRemove); }

  父元素

 // 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来发现更多的原生的东西或者读读MDN’s JS API reference or WPD’s DOM docs

  当然你也可以使用库,看这里-轻量级库可以找到一些应对特定任务的库,但首先要确保如果不用这个库你就不能完成任务,否则-使用native javaScript.

  原文链接: romanliutikov   翻译: 搞代码gaodaima.com – 蔡蔡

欢迎大家阅读《如何忘却jQuery,开始使用JavaScript原生API_js》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:如何忘却jQuery,开始使用JavaScript原生API_js

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址