以下是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.需求:创 ...
随机推荐
- sock_ntop等函数
inet_ntop的一个基本问题是:它要求调用者传递一个指向某个二进制地址的指针, 而该地址通常包含在一个套接字地址结构中,这就要求调用者必须知道这个结构的格式和地址簇, 为了使用这个函数,我们必须为 ...
- yo angualr-fullstatck 项目打包部署
yoeman使用grunt进行打包部署,直接运行grunt命令即可,期间会对代码进行检查,如果存在不规范的地方jshint会指定出来. grunt会对静态资源进行打包而且对资源文件名进行了MD5作为版 ...
- MYSQL用SOURCE命令时导入乱码的问题解决
现在遇到了,但记得上次辉哥说过的方法,在MYSQL命令行里输入: set names utf8; 再执行SOURCE命令,搞定!
- Android 仿QQ微信开场导航以及登陆界面
相信大家对于微信等社交应用的UI界面已经都很熟悉了,该UI最值得借鉴的莫过于第一次使用的时候一些列产品介绍的图片,可以左右滑动浏览,最后进入应 用,这一效果适用于多种项目中,相信今后开发应用一定会用得 ...
- java签名证书
import java.io.FileInputStream; import java.security.KeyStore; import java.security.PrivateKey; impo ...
- 完美解决VMware Workstation : Could not open /dev/vmmon: No such file or directory
root@tiger:/usr/bin# cd /etc/init.d root@tiger:/usr/bin# sudo mv /usr/lib/vmware/modules/binary /usr ...
- 详解C语言的main函数
如图所示:#include<stdio.h>这是一个头文件,包含的是C程序运行的C语言的库函数,只有包含了相关的头文件,在程序中才能调用.stdio表示输入输出控制.printf():就是 ...
- Java---练习(面试题) :字符串截取(1)
在java中,字符串"abcd"与字符串"ab你好"的长度是一样,都是四个字符. 但对应的字节数不同,一个汉字占两个字节. 定义一个方法,按照指定的字节数来取子 ...
- bzoj1823 [JSOI2010]满汉全席(2-SAT)
1823: [JSOI2010]满汉全席 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 1246 Solved: 598[Submit][Status ...
- jquery 异步请求Demo【转载】
$(document).ready(function() { $.ajax({ url : "/AjaxAction/LoginArea.ashx", data : {userna ...