选择元素
 Javascript代码

1.// jQuery   
2.var els = $('.el');   
3.  
4.// 原生方法   
5.var els = document.querySelectorAll('.el');   
6.  
7.// 函数法   
8.var $ = function (el) {   
9.  return document.querySelectorAll(el);   
10.}   
11.  
12.var els = $('.el');   
13.  
14.// 或者使用regex-based micro-selector库,地址:http://jsperf.com/micro-selector-libraries  
// jQuery
var els = $('.el');

// 原生方法
var els = document.querySelectorAll('.el');

// 函数法
var $ = function (el) {
  return document.querySelectorAll(el);
}

var els = $('.el');

// 或者使用regex-based micro-selector库,地址:http://jsperf.com/micro-selector-libraries

创建元素

Javascript代码

1.// jQuery   
2.var newEl = $('<div/>');   
3.  
4.// 原生方法   
5.var newEl = document.createElement('div');  
// jQuery
var newEl = $('<div/>');

// 原生方法
var newEl = document.createElement('div');

添加事件监听器

Javascript代码

1.// jQuery   
2.$('.el').on('event', function() {   
3.  
4.});   
5.  
6.// 原生方法   
7.[].forEach.call(document.querySelectorAll('.el'), function (el) {   
8.  el.addEventListener('event', function() {   
9.  
10.  }, false);   
11.});  

设置/获取属性

Javascript代码

1.// jQuery   
2.$('.el').filter(':first').attr('key', 'value');   
3.$('.el').filter(':first').attr('key');   
4.  
5.// 原生方法   
6.document.querySelector('.el').setAttribute('key', 'value');   
7.document.querySelector('.el').getAttribute('key');  

添加/移除/切换类

Javascript代码

1.// jQuery   
2.$('.el').addClass('class');   
3.$('.el').removeClass('class');   
4.$('.el').toggleClass('class');   
5.  
6.// 原生方法   
7.document.querySelector('.el').classList.add('class');   
8.document.querySelector('.el').classList.remove('class');   
9.document.querySelector('.el').classList.toggle('class');  

附加内容(Append)

1.// jQuery   
2.$('.el').append($('<div/>'));   
3.  
4.// 原生方法   
5.document.querySelector('.el').appendChild(document.createElement('div'));  

克隆元素

1.// jQuery   
2.var clonedEl = $('.el').clone();   
3.  
4.// 原生方法   
5.var clonedEl = document.querySelector('.el').cloneNode(true);  

移除元素

1.// jQuery   
2.$('.el').remove();   
3.  
4.// 原生方法   
5.remove('.el');   
6.  
7.function remove(el) {   
8.  var toRemove = document.querySelector(el);   
9.  
10.  toRemove.parentNode.removeChild(toRemove);   
11.}  

获取父元素

1.// jQuery   
2.$('.el').parent();   
3.  
4.// 原生方法   
5.document.querySelector('.el').parentNode;  

上一个/下一个元素

// jQuery   
2.$('.el').prev();   
3.$('.el').next();   
4.  
5.// 原生方法   
6.document.querySelector('.el').previousElementSibling;   
7.document.querySelector('.el').nextElementSibling;  

XHR或AJAX

// jQuery   
$.get('url', function (data) {   
  
});   
$.post('url', {data: data}, function (data) {   
  
});   
  
// 原生方法   
// get   
var xhr = new XMLHttpRequest();   
  
xhr.open('GET', url);   
xhr.onreadystatechange = function (data) {   
  
}   
xhr.send();   
  
// post   
var xhr = new XMLHttpRequest()   
  
xhr.open('POST', url);   
23.xhr.onreadystatechange = function (data) {   
  
}   
xhr.send({data: data});  
// jQuery
$.get('url', function (data) {

});
$.post('url', {data: data}, function (data) {

});

// 原生方法
// 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});

以下是jQuery和JavaScript实现相同操作的等价代码。的更多相关文章

  1. jQuery? 回归JavaScript原生API

    如今技术日新月异,各类框架库也是层次不穷.即便当年漫山红遍的JQuery(让开发者write less, do more,So Perfect!!)如今也有被替代的大势.但JS原生API写法依旧:并且 ...

  2. jQuery 选择器 筛选器 样式操作 文本操作 属性操作 文档处理 事件 动画效果 插件 each、data、Ajax

    jQuery jQuery介绍 1.jQuery是一个轻量级的.兼容多浏览器的JavaScript库. 2.jQuery使用户能够更方便地处理HTML Document.Events.实现动画效果.方 ...

  3. JavaScript jQuery 中定义数组与操作及jquery数组操作

    首先给大家介绍javascript jquery中定义数组与操作的相关知识,具体内容如下所示: 1.认识数组 数组就是某类数据的集合,数据类型可以是整型.字符串.甚至是对象Javascript不支持多 ...

  4. JavaScript jQuery 中定义数组与操作及jquery数组操作 http://www.jb51.net/article/76601.htm

    首先给大家介绍javascript jquery中定义数组与操作的相关知识,具体内容如下所示: 1.认识数组 数组就是某类数据的集合,数据类型可以是整型.字符串.甚至是对象Javascript不支持多 ...

  5. JavaScript&&jQuery创建新节点和操作属性对比

    JavaScript创建新节点和操作属性 通过JavaScript原生接口创建节点,在处理上是非常复杂与繁琐的. <!DOCTYPE html> <html lang="e ...

  6. 深入学习jQuery元素尺寸和位置操作

    × 目录 [1]尺寸设置 [2]位置设置 前面的话 对于javascript来说,元素尺寸有scroll.offset.client三大属性,以及一个强大的getBoundingClientRect( ...

  7. jquery css事件编程 位置 操作

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. JQuery 对 Select option 的操作---转载

    <select id="selectID" > <option value="1">1</option> <optio ...

  9. 节点的创建--对比jQuery与JavaScript 方法

    一.  创建节点: 节点是DOM结构的基础,根据DOM规范,节点是一个很宽泛的概念,包含元素.属性.文本.文档和注释.但在实际开发中,要动态创建内容,主要操作的节点包括元素.属性和文本. 1.需求:创 ...

随机推荐

  1. Ant快速入门(一)-----Ant介绍

    Ant是一种基于Java的生成工具.从作用上来看,它类似于C编程(UNIX平台上使用比较多)的Make工具,C/C++项目经常使用Make工具来管理整个项目的编译,生成 Make使用Shell命令来定 ...

  2. MFC枚举USB设备碰到的一个疑难,还没解决

    代码如下: 打开USB Hub设备之后,返回句柄hHubDevice,然后使用EnumerateHubPorts来枚举Hub的端 口.疑问在代码的中文注释中. bool CUsbEnumHub::En ...

  3. hdu 5124 lines

    http://acm.hdu.edu.cn/showproblem.php?pid=5124 题意:给你n条线段,然后找出一个被最多条线段覆盖的点,输出覆盖这个点的线段的条数. 思路:可以把一条线段分 ...

  4. 利用Keil u4调试,精确实现软件延时

    用定时器延时,有时候显得有点麻烦,我们不如考虑软件精确延时,软件延时无非就是利用for或while多重循环.以前用到延时函数时,都是从网上下载别人写好的延时子程序.延时5ms,400ms,1s,……, ...

  5. 关于LEA指令(单周期就可以做简单的算术计算)

    堆栈种分配的局部变量所谓的“标号”,你以为是什么?(都是那些该死的宏惹的祸,大家要都是老老实实写代码,就不会有这些疑问了).      比如你用local在栈上定义了一个局部变量LocalVar,你知 ...

  6. POJ2485 Highways(最小生成树)

    题目链接. 分析: 比POJ2253要简单些. AC代码: #include <iostream> #include <cstdio> #include <cstring ...

  7. 【博弈论】HDU 5754 Life Winner Bo

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5754 题目大意: 4种棋子,象棋中的 1王,2车,3马,4后,选其一,B和G轮流走,不能往左上走,一 ...

  8. oracle索引总结

    简介 1.说明 1)索引是数据库对象之一,用于加快数据的检索,类似于书籍的索引.在数据库中索引可以减少数据库程序查询结果时需要读取的数据量,类似于在书籍中我们利用索引可以不用翻阅整本书即可找到想要的信 ...

  9. 可伸缩性/可扩展性(Scalable/scalability)

    原文地址:http://www.jdon.com/scalable.html 可伸缩性(可扩展性)是一种对软件系统计算处理能力的设计指标,高可伸缩性代表一种弹性,在系统扩展成长过程中,软件能够保证旺盛 ...

  10. 甲骨文公司 Oracle

    甲骨文公司 甲骨文公司,全称甲骨文股份有限公司,是全球最大的企业软件公司,总部位于美国加利福尼亚州的红木滩.甲骨文是继Microsoft之后,全球收入第二多的软件公司.甲骨文公司1989年正式进入中国 ...