jQuery使用户能更方便地处理HTML(标准通用标记语言下的一个应用)、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。

  官网API:

    http://api.jquery.com

  下载:

    NuGet:Install-Package jQuery

  

  知识点:主要功能、版本、基本语法、事件,操作元素,特效,AJAX,扩展$,释放$,遍历,ready/onload区别

  先顶后看

1.主要功能

  html选取,操作,css操作,事件,特效,遍历,ajax

2.版本

  1.x:IE6+(本人测试,部分方法还是不支持IE8及以下)    

  2.X:IE9+

3.基本语法

  $(selector).action()

  如:

        function func() {
$(this).hide(); //所有div隐藏
}
$('div').click(func);
$('div').bind('click', func); //unbind
$('div').on('click', func); //off bind本质用的就是on

4.事件

  jquery和js的事件对象不一样。(包装了一下js对象,originalEvent属性就是js event对象)

  事件对象:

    type:事件名,如:click

    target:触发源,实际点击目标。

    currentTarget:触发源,触发事件目标。

    <div>
<p>Text</p>
</div>
<script>
$('div').first().click(function (e) {
console.log(e);
})
</script>

  阻止冒泡:

    <div>text</div>
<div>text</div>
<script>
function func(e) {
console.log(e); //打印事件
e.stopImmediatePropagation(); //阻止所有冒泡
e.stopPropagation(); //阻止父级冒泡
//todo
}
$('div')[1].onclick = func; //js事件
$('div').first().click(func); //jquery事件
</script>

  

5.操作元素

  查、改:text,html,val,attr,css

    <p><a>p1</a></p>
<p><a>p2</a></p>
<input type="text" value="v1" />
<input type="text" value="v2" />
<script>
var ps = $('p'); //所有p元素jquery对象
ps.eq(0).text(); //innerText
ps.eq(1).html(); //innerHTML
$('input').val(); //value
</script>

  增:

    <p> text </p>
<script>
$('p').prepend('prepend'); //向前插入
$('p').append('append'); //向后插入
$('p').before('before'); //向前插入,且换行
$('p').after('after'); //向后插入,且换行
</script>

  删:

    <div>
<p> text </p>
</div>
<span>通过该位置及样式区别</span>
<script>
$('div').css({ height: '200px', background: '#0094ff' }); //设置div样式
$('div').remove(); //删除元素及子元素
$('div').empty(); //删除子元素
</script>

  

6.特效

  语法:effect(time,func)

    <button>显示</button>
<button>隐藏</button>
<button>切换</button>
<div>
</div>
<script>
$('div').css({ height: '100px', background: 'red' });
$('button').eq(0).click(function () {
$('div').show(1000); //显示
$('div').fadeIn(1000); //淡入
$('div').slideUp(1000); //滑动入
})
$('button').eq(1).click(function () {
$('div').hide(1000);
$('div').fadeOut(1000);
$('div').slideDown(1000);
})
$('button').eq(2).click(function () {
$('div').toggle(1000);
$('div').fadeToggle(1000);
$('div').slideToggle(1000);
})
</script>

  

7.AJAX

  语法:$.method(url,data,func)

    <script>
$.get('handle.ashx',{ time: new Date().toLocaleString() }, function (data) {
alert(data);
}).error(function (e) {
//todo  出现异常执行
})
</script>

  语法:$(selector).load(url,func)      //加载文件

  语法:$.getScript(url,func)        //加载script,本质是$.get( url, undefined, func, "script" );

8.扩展jQuery

  通过$.fn作为扩展,可实现链式编程。

    <div>text</div>
<script>
$.fn.func = function () {
alert(this); //this为jQuery对象
}
$('div').func();
</script>

 

9.noConflict

  该方法会释放 $ 标识符的控制

    <div>text</div>
<script>
var my$ = $.noConflict(); //释放$
my$('div').hide(1000);
//$('div').hide(1000); //无效
</script>

  

10.css

  语法:    $(selector).css(name,value)      $(selector).css(obj)

  常用操作:  $(selector).addClass(className)    $(selector).removeClass(className)  $(selector).toggleClass(className)

        $('div').css('width', '200px').css('background', 'blue');
$('div').css({width:'200px',background:'blue'});

11.遍历

遍历元素

  子元素:    chilrden()  find()

  父元素:    parent()  parents()  parentUntil(selector)

  同级元素:   

    <script>
var d = $('div');
d.siblings(); //同级所有其他元素
d.next(); //同级下一个元素
d.nextAll(); //同级下面所有元素
d.nextUntil(selector); //同级下面到selector间的所有元素
d.prev(); //同级上一个元素
d.prevAll(); //同级上面所有元素
d.prevUntil(selector); //同级上面到selector间的所有元素
</script>

  过滤:    first()  last()  eq(index)  filter(selector)  not(selector)    

    eq(index):        取jQuery对象数组中的第几个对象,从0开始

    filter(selector):      取jQuery对象数组中符合selector的对象,not(selector)相反。

遍历集合

    map

      遍历数组,返回新的数组

      语法:$.map([],function(v,i){})

    each

      遍历数组

      语法:$.each([],function(v,i){})

12.DOM对象jQuery对象互转: 

  DOM对象  =>  jQuery对象:    $(DOM对象)

  如:      var ele = document.getElementById('id');  $(ele);   

  常用操作:    $('<a href="#">a标签<a>');    //直接将html标签转成DOM对象

  jQuery对象  =>  DOM对象:    jQuery对象[0]

  如:      $(ele)[0];

13.ready,onload

  ready在前,onload在后。

DOM树节点完成:

  $(function(){}) === $(document).ready(function(){})

load完成:

  window.onload = function(){}

[JS] JavaScript框架(1) jQuery的更多相关文章

  1. [JS] JavaScript框架(2) D3

    D3(Data-Driven Documents)是一个用于网页作图.生成互动图形的JavaScript函数库. 官网:http://d3js.org/ 下载: cdn:<script src= ...

  2. 16 款最流行的 JavaScript 框架

    本文列举了16个当前最流行的JavaScript框架.在这个列表中,既包括jQuery和Mootools,也有Zepo移动JavaScript框架. 里面一定有你正在用的或想尝试用的JavaScrip ...

  3. js常用框架

    JS常用框架:jQuery.Prototype.MooTools 参考:w3cshool jQuery jQuery 是目前最受欢迎的 JavaScript 框架. 它使用 CSS 选择器来访问和操作 ...

  4. JavaScript 框架(库)

    JavaScript 高级程序设计(特别是对浏览器差异的复杂处理),通常很困难也很耗时. 为了应对这些调整,许多的 JavaScript (helper) 库应运而生. 这些 JavaScript 库 ...

  5. javascript框架(库)

    javascript框架(库)高级JavaScript编程,尤其是复杂的浏览器差异处理,通常是困难和耗时的.为了响应这些调整,出现了许多javascript(helper)库.这些JavaScript ...

  6. 为什么很多国内公司不使用 jQuery 等开源 JS 框架(库),而选择自己开发 JavaScript 框架?

    http://www.zhihu.com/question/20099586/answer/13971670 我对公司JAVASCRIPT框架的定位思考:

  7. JS读书心得:《JavaScript框架设计》——第12章 异步处理

    一.何为异步   执行任务的过程可以被分为发起和执行两个部分. 同步执行模式:任务发起后必须等待直到任务执行完成并返回结果后,才会执行下一个任务. 异步执行模式:任务发起后不等待任务执行完成,而是马上 ...

  8. js javascript jquery区别和联系

    javascript:简称js ,是用于客户端Web开发的一种脚本语言,常用来给HTML网页添加动态功能. jquery:基于JS语言,封装JS的原生方法功能,提供了简便的函数接口,简化了JS的操作. ...

  9. 主流JavaScript框架(Dojo、Google Closure、jQuery、Prototype、Mootools和YUI)的分析和对比

    本文主要选取了目前比较流行的JavaScript框架Dojo.Google Closure.jQuery.Prototype.Mootools和YUI进行对比,主要是根据网上的资料整理而成,希望可以供 ...

随机推荐

  1. 便宜有好货:Oracle免费的便捷Web应用开发框架

    APEX 总体来说,APEX是我见过最便捷最高效的开发框架,用起来比PHP还舒服.上手简单,学习成本极低,曾经有个做行政的小女生,在我指导下两天就可以开发出简单的审批管理站点.如果企业要做一些内部应用 ...

  2. android TypedValue.applyDimension()的作用

    这个方法是转变为标准尺寸的一个函数,例如 int size = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 20, cont ...

  3. 定时5秒之后驻留在元素ID为content元素的内容

    如果我只能刷新一个特定的页面的一部分,这将是很大的,例如:仪表盘上的交通灯显示系统状态. 这是很容易通过使用jQuery JavaScript库,只刷新页面的一部分.一旦我们纳入我们的页面的jQuer ...

  4. memcached 源码阅读笔记

    阅读 memcached 最好有 libevent 基础, memcached 是基于 libevent 构建起来的. 通由 libevent 提供的事件驱动机制触发 memcached 中的 IO ...

  5. 未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage”包。

    最近在升级 Visual Studio 2015 Update 3 的过程中,等了很长时间都没一点进展,于是就强行终止了升级程序,但VS也因此出了问题. 后来经过修复,不行,卸载再重装,仍然提示这个错 ...

  6. 基于Multisim的buck降压斩波电路仿真

    和boost电路相反,buck电路为DC-DC降压电路,搞了一下仿真发现低压情况下降压效率比較高,电压略微高一点降压效率就不敢恭维了. .不知道是怎么回事 仿真电路: 占空比D设置了0.5, U0=U ...

  7. 如何通过XShell传输文件

    转载孟光孟叔的博客:  https://learndevops.cn/index.php/2016/06/14/how-to-transfer-file-using-xshell xshell目前最好 ...

  8. Mac OSX 安装nvm(node.js版本管理器)

    我的系统 1.打开github官网https://github.com/,输入nvm搜索,选择creationix/nvm,打开 2.找到Install script,复制 curl -o- http ...

  9. Unity3d插件汇总

    Unity3d 中的svn插件 插件下载地址:http://www.dehome.net/down/viewfile.php?file_id=53

  10. 解决在IE下LABEL中IMG图片无法选中RADIO的几个方法

    转http://www.cnblogs.com/chenxianbin89/archive/2012/11/25/2787258.html . 方法三,THML代码控制: 在IMG中加一个属性,dis ...