完全没有否定jQuery的意思,jQuery是一个神奇的、非常有用的工具,可以节省我们大量的时间。

但是,有些时候,我们只需要jQuery的一个小功能,来完成一个小任务,完全没有必要加载整个jQuery程序库。下面是一些用简单JavaScript实现jQuery功能特征的代码汇总。当然,这个汇总并不完全,你最好还是看一下《你不需要jQuery(一)

查找搜索(选择器)

按ID查找:

$('#foo')
document.getElementById('foo')

按class名搜索:

$('.bar')
document.getElementsByClassName('bar')

按标记名搜索:

$('span')
document.getElementsByTagName('span')

按子元素搜索:

$('#foo span')
document.getElementById('foo').getElementsByTagName('span')

搜索特殊元素:

$('html')
document.documentElement $('head')
document.head $('body')
document.body

元素属性操作

获取/设置HTML:

$('#foo').html()
document.getElementById('foo').innerHTML $('#foo').html('Hello, world!')
document.getElementById('foo').innerHTML = 'Hello, world!'

添加/删除/搜索判断class:

$('#foo').addClass('bar')
document.getElementById('foo').className += ' bar ' $('#foo').removeClass('bar')
document.getElementById('foo').className = document.getElementById('foo').className.replace(/\bbar\b/gi, '') $('#foo').hasClass('bar')
document.getElementById('foo').className.search(/\bbar\b/gi) !== -1

元素值:

$('#foo').val()
document.getElementById('foo').value

特效

隐藏/显示操作:

$('#foo').show()
document.getElementById('foo').style.display = '' $('#foo').hide()
document.getElementById('foo').style.display = 'none'

 修改CSS样式:

$('#foo').css('background-color', 'red')
document.getElementById('foo').style.backgroundColor = 'red'

  

事件

页面加载完成(ready)

在jQuery里,我们最常使用的是$(document).ready。对于它,下面是替换方法:

document.onreadystatechange = function() {
if (document.readyState === 'complete') {
// DOM is ready!
}
};

  

点击事件

$('#foo').click(function() { ... })
document.getElementById('foo').onclick = function() { ... }

AJAX

新版的JavaScript API里提供了一个全新的可以实现ajax的API——fetch,这个api采用了全新的 Promise 架构,使用起来更方便,更灵活,详细用法请参考《你不需要jQuery(三):新AJAX方法fetch()》。

工具类技术

分析JSON:

jQuery.parseJSON(json)
JSON.parse(json)

 

总结

从上面的代码,我们可以看出,jQuery里的很多功能都可以用很多简单的JavaScript代码实现。jQuery虽然很好用,但它有体积的负担,如果遇到一个问题,你可以用简单的代码实现,而不用去加载jQuery,这岂不是更高效,更实用的方法吗

你不需要jQuery(二)的更多相关文章

  1. 从零开始学习jQuery (二) 万能的选择器

    本系列文章导航 从零开始学习jQuery (二) 万能的选择器 一.摘要 本章讲解jQuery最重要的选择器部分的知识. 有了jQuery的选择器我们几乎可以获取页面上任意的一个或一组对象, 可以明显 ...

  2. jquery二维码生成插件_二维码生成器

    jquery二维码生成插件_二维码生成器 下载地址:jquery生成二维码.rar

  3. JQuery(二)——简单动画效果

    上一篇博客总结了JQuery的一些基本知识,这篇博客重点从JQuery能够制造各种各样的网页效果方面来进行总结.总结一些常见的常用的基本效果的必备方法.从隐藏显示,淡入淡出,滑动,动画等几个方面来简单 ...

  4. jQuery(二) jQuery对Ajax的使用

    学习使我快乐!嘿 --WH 一.jQuery使用Ajax 想要了解jQuery如何使用Ajax,并且体会到它所带来的方便性,那么就得了解原始的Ajax是如何编写的,是怎样的繁琐,然后和Jquery的代 ...

  5. 基于jquery二维码生成插件qrcode

    1.首先在页面中加入jquery库文件和qrcode插件. ? 1 2 <script type="text/javascript" src="jquery.js& ...

  6. jQuery二维码

    现在二维码很火,因为他可以很方便的贴到任何地方,只要扫一扫就可以看到二维码的内容 ok 废话少说,上代码 这个二维码基于jquery和jquery.qrcode插件 所以使用前先引入 <scri ...

  7. jquery二维码生成插件jquery.qrcode.js

    插件描述:jquery.qrcode.js 是一个能够在客户端生成矩阵二维码QRCode 的jquery插件 ,使用它可以很方便的在页面上生成二维条码. 转载于:http://www.jq22.com ...

  8. jQuery二——属性操作、文档操作、位置属性

    一.jquery的属性操作 jquery对象有它自己的属性和方法. 其中jquery的属性操作模块分为四个部分:html属性操作,dom属性操作,类样式操作和值操作. 1.html属性操作 是对htm ...

  9. JavaScript类库---JQuery(二)

    接上: 6.Ajax:  一个基础底层函数:jQuery.ajax();  //高级工具函数都会调用此函数:  一个高级工具方法:load() ;  四个高级工具函数:jQuery.getScript ...

随机推荐

  1. iOS 之美:iOS Delegate 使用五步曲

    在iOS 开发中, 搞清楚Delegate 是需要花些时间的. Delegate 本来是软件架构设计的一种理念.对于像手机这样一个有限的设备,我们需要充分考虑到:内存要尽量省着用: 视图之间的关系要清 ...

  2. ios swift reduce Method

    Swift’s API includes many functions and instance methods that reflect its functional programming her ...

  3. 本招聘信息2014年长期有效!杭州派尔科技高薪诚聘android开发(10K-20K),web前端开发(8K-15K),IOS开发(15K-25K)

    杭州派尔科技有限公司发展至今,离不开员工的无私奉献和辛勤耕耘,在努力创造更好成绩的同时,公司也不忘回馈每一位员工的努力与付出.1.全面的绩效考核机制,让发展空间近在眼前!公司力争让每一位员工都了解自己 ...

  4. 企业SAAS的春天,将以手机应用的形式,即将到来

    派尔科技吴春福 *本文是派尔为什么要投身企业移动应用的内部分享文章: *我没有仔细核查资料,仅代表个人看法,思路也是在整理过程,逻辑未必很完整,看官将就着看. 企业SAAS,概念起源是N年前,先行者也 ...

  5. C#解析Json格式数据小结

    最近,遇到了一些不同的Json格式的数据,需要做不同处理才能转化为想要得到的结果,这里总结一下. 第一种形式:status中是{}形式,对象 string json = @"{'name': ...

  6. .net core demo & docker images

    记录.net core 部署在docker 上的大概步骤便于以后查阅. PART 1 .net core web api demo 1.下载最新VS 2015 community 社区版免费使用. 2 ...

  7. Entity Framework学习(一)

    网上看了很多的资料,发现都不是想要的学习资料,讲的不是很明白,最后在msdn开始自己研究EF MSDN的地址 https://msdn.microsoft.com/zh-cn/library/gg69 ...

  8. boost::xml——基本操作以及中文乱码解决方案

    下面是本人使用boost库的xml部分的基础操作,并且解决对于大家使用boost库读写中文xml内容出现的乱码问题. 1.实现boost库xml基本操作2.解决boost对xml中中文乱码问题3.实现 ...

  9. linux gcc 和 g++ 编译

    gcc编译 gcc -o test.out test.c g++ 编译 g++ -o test.out test.cpp

  10. 【转】VS2012发布网站详细步骤

    1.打开你的VS2012网站项目,右键点击项目>菜单中 重新生成一下网站项目:再次点击右键>发布: 2.弹出网站发布设置面板,点击<新建..>,创建新的发布配置文件: 输入你自 ...