以下是jQuery和JavaScript实现相同操作的等价代码。
选择元素
Javascript代码
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代码
2.var newEl = $('<div/>');
3.
4.// 原生方法
5.var newEl = document.createElement('div');
// jQuery
var newEl = $('<div/>');
// 原生方法
var newEl = document.createElement('div');
添加事件监听器
Javascript代码
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代码
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代码
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)
2.$('.el').append($('<div/>'));
3.
4.// 原生方法
5.document.querySelector('.el').appendChild(document.createElement('div'));
克隆元素
2.var clonedEl = $('.el').clone();
3.
4.// 原生方法
5.var clonedEl = document.querySelector('.el').cloneNode(true);
移除元素
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.}
获取父元素
2.$('.el').parent();
3.
4.// 原生方法
5.document.querySelector('.el').parentNode;
上一个/下一个元素
2.$('.el').prev();
3.$('.el').next();
4.
5.// 原生方法
6.document.querySelector('.el').previousElementSibling;
7.document.querySelector('.el').nextElementSibling;
XHR或AJAX
$.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实现相同操作的等价代码。的更多相关文章
- jQuery? 回归JavaScript原生API
如今技术日新月异,各类框架库也是层次不穷.即便当年漫山红遍的JQuery(让开发者write less, do more,So Perfect!!)如今也有被替代的大势.但JS原生API写法依旧:并且 ...
- jQuery 选择器 筛选器 样式操作 文本操作 属性操作 文档处理 事件 动画效果 插件 each、data、Ajax
jQuery jQuery介绍 1.jQuery是一个轻量级的.兼容多浏览器的JavaScript库. 2.jQuery使用户能够更方便地处理HTML Document.Events.实现动画效果.方 ...
- JavaScript jQuery 中定义数组与操作及jquery数组操作
首先给大家介绍javascript jquery中定义数组与操作的相关知识,具体内容如下所示: 1.认识数组 数组就是某类数据的集合,数据类型可以是整型.字符串.甚至是对象Javascript不支持多 ...
- JavaScript jQuery 中定义数组与操作及jquery数组操作 http://www.jb51.net/article/76601.htm
首先给大家介绍javascript jquery中定义数组与操作的相关知识,具体内容如下所示: 1.认识数组 数组就是某类数据的集合,数据类型可以是整型.字符串.甚至是对象Javascript不支持多 ...
- JavaScript&&jQuery创建新节点和操作属性对比
JavaScript创建新节点和操作属性 通过JavaScript原生接口创建节点,在处理上是非常复杂与繁琐的. <!DOCTYPE html> <html lang="e ...
- 深入学习jQuery元素尺寸和位置操作
× 目录 [1]尺寸设置 [2]位置设置 前面的话 对于javascript来说,元素尺寸有scroll.offset.client三大属性,以及一个强大的getBoundingClientRect( ...
- jquery css事件编程 位置 操作
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JQuery 对 Select option 的操作---转载
<select id="selectID" > <option value="1">1</option> <optio ...
- 节点的创建--对比jQuery与JavaScript 方法
一. 创建节点: 节点是DOM结构的基础,根据DOM规范,节点是一个很宽泛的概念,包含元素.属性.文本.文档和注释.但在实际开发中,要动态创建内容,主要操作的节点包括元素.属性和文本. 1.需求:创 ...
随机推荐
- Quartz2D使用
使用Quartz2D前 先导入QuartzCore.framework //划线 //1.获取图形上下文 CGContextRef ctx=UIGraphicsGetCurrentContext() ...
- 利用花生壳在自己电脑上建立外网可访问的svn
下载花生壳并注册账号 2.花生壳会送你一个免费的二级域名 3.登陆到路由器界面192.168.0.1或者192.168.0.0进入动态dns选项输入你的花生壳账号密码 4.在路由器设置界面设置转发规则 ...
- Matlab 数理统计
1.离散随机分布 超几何分布:M:产品总数;K:次品数;N:抽样数. hygepdf(X, M,K,N):计算超几何分布的密度. 例:hygepdf(1,10,1,3),执行结果为ans=0.3000 ...
- [flex & bison]编译器杂谈
flex与bison是编译器设计工具.这里的编译器为广义,其中包括一般的编译器.脚本解析器等,需要进行语言结构解析来得出意义的程序. 当我们需要用一个语言来设计一款编译器时,需要考虑太多设计重心外的东 ...
- C51 库函数(1)
C-51软件包的库包含标准的应用程序,每个函数都在相应的头文件(.h)中有原型声明.如果使用库函数,必须在源程序中用预编译指令定义与该函数相关的头文件(包含了该函数的原型声明).例如: #includ ...
- Hadoop CombineFileInputFormat实现原理及源码分析
Hadoop适用于少量的大文件场景,而不是大量的小文件场景(这里的小文件通常指文件大小显著小于HDFS Block Size的文件),其主要原因是因为FileInputFormat在为这些小文件生成切 ...
- 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 ...
- SCGHR_存储过程(eSP_IDChangeStart)_政治面貌为什么不能正确更新
1.问题描述:该SP中姓名,工号能够顾正确修改,但是政治面貌不能,为什么? 2.问题定位:那么该SP中其他设置都是正确的,就不要浪费时间看SP的其他设置,错误源就在 政治面貌 这一小块中. 3.修改: ...
- 站内信DB设计实现
两年前,万仓一黍在博客园发了两篇关于站内信的设计实现博文,<群发"站内信"的实现>.<群发"站内信"的实现(续)>,其中阐述了他关于站内 ...
- angularjs改变路由时控制器每次都执行两次
原因如下: 代码里面也初始化了控制器 模板配置了一个控制器