选择元素
 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. Quartz2D使用

    使用Quartz2D前  先导入QuartzCore.framework //划线 //1.获取图形上下文 CGContextRef ctx=UIGraphicsGetCurrentContext() ...

  2. 利用花生壳在自己电脑上建立外网可访问的svn

    下载花生壳并注册账号 2.花生壳会送你一个免费的二级域名 3.登陆到路由器界面192.168.0.1或者192.168.0.0进入动态dns选项输入你的花生壳账号密码 4.在路由器设置界面设置转发规则 ...

  3. Matlab 数理统计

    1.离散随机分布 超几何分布:M:产品总数;K:次品数;N:抽样数. hygepdf(X, M,K,N):计算超几何分布的密度. 例:hygepdf(1,10,1,3),执行结果为ans=0.3000 ...

  4. [flex & bison]编译器杂谈

    flex与bison是编译器设计工具.这里的编译器为广义,其中包括一般的编译器.脚本解析器等,需要进行语言结构解析来得出意义的程序. 当我们需要用一个语言来设计一款编译器时,需要考虑太多设计重心外的东 ...

  5. C51 库函数(1)

    C-51软件包的库包含标准的应用程序,每个函数都在相应的头文件(.h)中有原型声明.如果使用库函数,必须在源程序中用预编译指令定义与该函数相关的头文件(包含了该函数的原型声明).例如: #includ ...

  6. Hadoop CombineFileInputFormat实现原理及源码分析

    Hadoop适用于少量的大文件场景,而不是大量的小文件场景(这里的小文件通常指文件大小显著小于HDFS Block Size的文件),其主要原因是因为FileInputFormat在为这些小文件生成切 ...

  7. POJ1163——The Triangle

    Description 73 88 1 02 7 4 44 5 2 6 5 (Figure 1) Figure 1 shows a number triangle. Write a program t ...

  8. SCGHR_存储过程(eSP_IDChangeStart)_政治面貌为什么不能正确更新

    1.问题描述:该SP中姓名,工号能够顾正确修改,但是政治面貌不能,为什么? 2.问题定位:那么该SP中其他设置都是正确的,就不要浪费时间看SP的其他设置,错误源就在 政治面貌 这一小块中. 3.修改: ...

  9. 站内信DB设计实现

    两年前,万仓一黍在博客园发了两篇关于站内信的设计实现博文,<群发"站内信"的实现>.<群发"站内信"的实现(续)>,其中阐述了他关于站内 ...

  10. angularjs改变路由时控制器每次都执行两次

    原因如下: 代码里面也初始化了控制器 模板配置了一个控制器