文章源自:http://blog.jobbole.com/52195/
如何忘却jQuery,开始使用JavaScript原生API
JavaScript就在这里随时等候你的召唤,但是也许你还没有准备好如何使用他。为什么不用jQuery呢?因为他很慢并且你的网站真的不需要这些多余的负担。
我不是来这里争辩原生API和函数库的迥异,开发的时候很难不用到这些神奇的东东。但是我想讨论的是:如果仅为使用个选择器($)或者类似的东西,是否真的有必要加载jQuery。
假设咱不是为了简化,每个人用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.
相关推荐
学习这些案例时,应重点理解它们是如何利用jQuery的便利性来简化JavaScript代码的,同时也要了解JavaScript的基础语法和原生API,以便在不适用jQuery或者需要更底层控制时能灵活应对。这些案例对于初学者来说是一份...
虽然jQuery简化了许多JavaScript任务,但现代浏览器对原生API的优化使得直接使用原生方法在性能上可能更优。因此,理解原生JavaScript并与jQuery结合使用,可以提高代码效率。 **七、学习资源** jQuery API.CHM...
- **易用性**: jQuery的API设计更加简洁,使得代码更易读,而原生JavaScript可能需要更多的代码来完成相同任务。 - **兼容性**: jQuery处理了浏览器差异,使得跨浏览器开发更为便捷,而原生JavaScript在旧版本浏览器...
《jQuery API 使用手册》是开发人员使用jQuery框架进行网页交互和功能实现的重要参考资料。jQuery是一个高效、简洁且易用的JavaScript库,它极大地简化了HTML文档遍历、事件处理、动画制作以及Ajax交互等任务。手册...
此外,随着现代浏览器对ES6和新API的支持增强,原生JavaScript的许多功能已经变得和jQuery一样方便,比如`querySelectorAll`和`addEventListener`,这也使得部分开发者转向使用更轻量级的库或直接使用原生JavaScript...
例如,jQuery的`$()`选择器可以轻松选取DOM元素,而`$(element).click()`则用于添加点击事件监听器,这比使用原生JavaScript的`addEventListener()`更简洁易懂。 总的来说,jQuery1.8.0、W3CSchool和JavaScript API...
3. **事件处理(Event Handling)**:jQuery 的事件处理比原生JavaScript更简洁,例如 `click(function(){...})` 用于绑定点击事件,`on()` 方法可以绑定多种事件,`off()` 方法则用于移除事件绑定。 4. **动画...
学习jQuery API和JavaScript的结合使用,能够大大提高开发效率,使你能够编写出更简洁、更高效的前端代码。同时,理解JavaScript的基础知识,如变量、函数、对象、闭包等,对于深入理解jQuery的工作原理至关重要。在...
jQuery 的事件处理方式比原生JavaScript更直观。例如,使用 $(selector).click(function() {...}) 可以绑定点击事件,$(selector).on('mouseover', function() {...}) 绑定鼠标悬停事件。同时,$.event....
5. **避免在循环中使用jQuery方法**: 在循环内部使用JavaScript原生方法,如`for`循环,可以提高性能。 总结,jQuery 1.4.4中文API为开发者提供了全面的文档支持,帮助他们理解和运用jQuery的各种功能,从而更高效...
例如,使用jQuery选择元素时,只需一句`$("#elementID")`就能选取ID为"elementID"的元素,而原生JavaScript则需要使用`document.getElementById("elementID")`。 jQuery的另一个亮点是其强大的动画功能。原生...
3. **事件处理(Event Handling)**:jQuery 的事件处理比原生 JavaScript 更加简便,如 `$(selector).click(function() {...})` 用于绑定点击事件,`$(document).ready(function() {...})` 用于在文档加载完成后...
在前端开发中,jQuery提供了一套非常方便的API来实现动画效果,但随着Web标准的发展和性能优化需求的提高,原生JavaScript的方法逐渐受到青睐。通过原生JavaScript实现动画,能够更精确地控制动画过程,并在需要时...
jQuery是一款广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画设计以及Ajax交互等任务,使得JavaScript编程变得更加简单高效。 在jQuery实例部分,你将学习到如何利用jQuery实现各种实用的功能,比如...
2. **原生JavaScript**:原生JavaScript意味着不依赖任何外部库或框架,如jQuery、React或Vue.js,而是直接使用JavaScript语言的标准API。这有助于减少代码体积,提高页面加载速度,并增强对不同浏览器的兼容性。 3...
这个中文API是原始英文版本的翻译,方便中文使用者理解和应用。下面将详细介绍其中的关键知识点。 1. **ajaxForm**: - `ajaxForm`方法用于添加必要的事件监听器,使表单准备好进行AJAX提交。它本身并不提交表单,...
jQuery 是一个广泛使用的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画制作以及Ajax交互。在本文中,我们将深入探讨jQuery API,结合版本1.3的源码,揭示其核心功能和工作原理。 ### 1. jQuery...
4. **事件处理(Events)**:jQuery的事件处理比原生JavaScript更简洁,如`click()`, `mouseover()`, `mouseout()`等。`$(element).on("event", function(){...})`是通用的事件绑定方式。 5. **动画(Effects)**:...
1. **简便的DOM操作**:jQuery提供了一致的API来选择、操作DOM元素,比如`$(selector).method()`,比原生JavaScript更易读写。 2. **链式操作**:jQuery的方法返回的是jQuery对象本身,因此可以连续调用多个方法。 ...
jQuery API是开发人员使用jQuery进行网页开发的重要参考资料,提供了丰富的函数和方法,帮助开发者实现各种功能。 在提供的压缩包文件中,我们有三个CHM格式的文件:`jQueryAPI-CHM-080801.CHM`、`jQueryAPI1.3.CHM...