jquery【解释篇】

       Jquery是继prototype之后又一个优秀的Javascript库。

      它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera9.0+), jQuery2.0及后续版        本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML(标准通用标记语言下的一个应用)、events、实现动画 效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页面保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需要定义id即可。

轻量级:依赖程序少,占用的资源的少
特点:js代码和html代码分离
jQuery已经成为最流行的javascript库,在世界前10000个访问最多的网站中,有超过55%在使用jQuery。
由美国人John Resig在2006年1月发布
jQuery是免费、开源的

jQuery分类:
WEB版本:我们主要学习研究
UI版本:集成了UI组件
mobile版本:针对移动端开发

qunit版本:用于js测试的

1.5优点

消除了很多跨浏览器的兼容性问题。

比javascript代码量要少。

核心理念是write less,do more(写得更少,做得更多)
轻量级:源码1.11.js大小是286kb,压缩班1.11.min.js大小是94.1k。如果使用GZIP压缩更小。
兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)
jQuery的语法设计可以使开发者更加便捷
例如操作文档对象、选择DOM元素、制作动画效果、事件处理、使用Ajax以及其他功能
jQuery能够使用户的html页面保持代码和html内容分离
不用再在html里面插入一堆js来调用命令了,只需要定义id即可
jQuery提供API让开发者编写插件,有许多成熟的插件可供选择

文档说明很全

书写规范:

1.总是使用分号。

2.常量使用大写,每个单词之间用一个下划线分隔

3.函数,变量和方法名都采用驼峰拼写法,并且将整个变量名的第一个字母小写

4.类和枚举名采用驼峰拼写法,但整个变量名第一个字母大写

5.相等性:总是使用等同(===)进行比较:  

  (==)操作符是危险的,因为它在执行比较之前,强制执行类型转换

if(userName ===null || userName ===undefined){}

6.以块方式组织代码:对于控制结构[if/else/for/while/try]总是使用花括号,并且总是以多行的代码块方式来编写。不使用没有花括号的单行if语句。

7.字符串:使用双引号而不是单引号

8.打印日志:console.log();console.debug();console.clear();

9.声明变量的方式:

  i= 0;//隐式声明
  var i =0;//显示声明
  var x;//undefined


10.作用域:

    1.作用域(scope)指的是变量或对象的可见范围。全局变量(global)在应用中的任何地方都可见,而局部变量(local)仅在声明该变量的函数内可见。

    2.隐式声明的变量总是具有全局作用域,即使该变量是在某个函数体中声明的。

11.变量名必须以一个字母,下划线或美元符号开头,后跟0个或多个字母数字字符,下划线或美元符号。不能使用关键字。

12.理解对象:对象是属性的集合,每一个属性具有一个名称和一个值。

    var userInfo = new UserInfo();

13.eval():可以接受一个字符串,并将其市委javascript代码执行。应该限制eval()函数的使用,它很容易在代码中引入各种各样严重的安全问题。

14.队列是一种先进先出的数据结构,队列总是将元素添加到队列的尾部,移除元素时则总是从队列的头部开始。

15.采用链式操作,除了可读性更好,还具有更好的性能

16.要获取或设置元素的内容【两种方法】及区别:

第一种方法使用.text()方法。

第二种方式使用.html()方法。它的用法与.text()方法一样:当调用不带参数的.html()方法时,获取的元素的内容;当调用带参数的.html()方法时,设置元素的内容。

区别:

1  .text()方法即可用于xml文档,也可用于HTML文档,而.HTML()只能用于HTML文档。

2  .text()将获取所有后代元素的文本内容,而.HTML()方法仅获取匹配的第一个元素的文本内容

 var content = $("p").text();

 var content = $("p").text("change text");

 var content = $("p").html();

 var content = $("p").html("change html");

17.jquery 可以在运行时动态插入dom元素,所以,想在还不存在的元素上绑定一个时间,.bind()方法将不再有效。
    .live()方法,不论元素是否已存在都可以绑定一个事件。销毁的方法为:.die()方法。

    .live()方法无法链接调用,如果想链接调用,则可以用delegate()方法代替.live()方法。销毁的方法:undelegate()方法。

    $(function(){
 
$("#anchor").live("click",function(){
          alert("xiaopangzi i miss you");
});
 
$("#sub").bind("click",function(){ 

      //在该元素内部添加 

              $("#divA").append("<a href='#' id='anchor'>button</a>");

              //在该元素之前添加

               $("#divA").before("<a href='#' id='anchor'>button</a>");

               //在该元素之后添加

               $("#divA").after("<a href='#' id='anchor'>button</a>");

});

         //仅执行一次追加

         $("#sub").one("click",function(){  });

       //链式事件编程

        $("#text").mouseover(function(){ 
    $(this).css("color","red");
}).mouseout(function(){
    $(this).css("color","green");  
});
        
})
<div id="divA" style="width:300px;height:100px;border:1px solid red;">a</div>

<input type="button" value="submit" id="sub"/>

18.$.offset()方法,它返回一个包含数值类型的left值和top值的对象,指出元素相对于文档的位置。

    默认值:fast:200毫秒   slow:600毫秒

     var pos = $(this).offset();

     $("div#message").slideUp('fast');

     $("div#message").slideDown('fast');

19.绑定事件,解除事件:  on 等于bind时间

 $(function(){
 

  $(".subBtn").bind('mouseover',function(){  

         });

        $("subBtn").on("click",function(){
     console("eq bind method");
  });

  $(".subBtn").unbind("mouseover");


})

类型检查:

对象

类型检查表达式

String

Typeof object ===”string”

Number

Typeof object ===”number”

Boolean

Typeof object ===”boolean”

Element

Object.nodeType

null

Object ===null

Null undefined

Object ===null


类型

描述

:animated

选择当前正在执行动画的所有元素

:eq()

选择索引等于指定值的元素

:even

选择索引值为偶数的所有元素

:first

选择第一个元素

:gt()

选择索引大于指定值的元素

:header

选择所有的标题元素,比如h1,h2

:last

选择最后一个元素

:lt

选择索引小于指定值的元素

:not

选择与选择器不匹配的元素

:odd

选择索引值为奇数的所有元素


表单元素过滤器

过滤器

描述

:button

选择所有button元素和类型为button的元素

:checkbox

选择所有类型为checkbox的元素

:checked

匹配所有已被选中的元素

:disabled

选择所有不可用元素

:enabled

选择所有可用元素

:file

选择所有类型为file的元素

:image

选择所有类型为image的元素

:input

选择所有input,textarea,select,button元素

:password

选择所有类型为password的元素

:radio

选择所有类型为radio 的元素

:reset

选择所有类型为reset的元素

:selected

选择所有已选中的元素

:submit

选择所有类型为submit 的元素

:text

选择所有类型为text的元素


子元素过滤器

选择器

描述

:first-child

选择每个父元素的第一个子元素

:last-child

选择每个父元素的最后一个子元素

:nth-child()

选择每个父元素的第nth-child()个子元素

:only-child

选择具有唯一一个子元素的元素


Jquery事件

.blur()

.mouseenter()

.focus()

.mousemove()

.select()

.mouseout()

.submit()

.mouseover()

.click()

.mouseup()

.dblclick()

.toggle()

.focusin()

.error()

.focusout()

.resize()

.hover()

.scroll()

.mousedown()

 


:not(selector) 去除所有与给定选择器匹配的元素
------------------------------
:header  获得所有标题元素。例如:<h1>...<h6>
:animated  获得所有动画
:focus 获得焦点
:empty  当前元素是否为空(是否有标签体--子元素、文本)
:has(...)  当前元素,是否含有指定的子元素
:parent 当前元素是否是父元素
:contains( text ) 标签体是否含有指定的文本
:hidden 隐藏。特指 <xxx style="display:none;">  ,获得 <input type="hidden">
:visible 可见(默认)
:nth-child(index)  ,获得第几个孩子,从1开始。
:first-child , 获得第一个孩子
:last-child , 获得最后孩子
:only-child , 获得独生子

:input  所有的表单元素。(<input> / <select> / <textarea> / <button>)
:text 文本框<input type="text">
:password 密码框<input type=" password ">
:radio 单选<input type="radio">
:checkbox 复选框<input type="checkbox">
:submit 提交按钮<input type="submit">
:image 图片按钮<input type="image" src="">
:reset 重置按钮<input type="reset">
:file 文件上传<input type="file">
:hidden 隐藏域<input type="hidden">  ,还可以获得<xxx style="display:none"> 
其他值:<br> <option>  ,存在浏览器兼容问题
:button 所有普通按钮。 <button >  或 <input type="button">

:enabled 可用
:disabled 不可用。<xxx disabled="disabled"> 或<xxx disabled="">  或  <xxx disabled>
:checked 选中(单选框radio、复选框 checkbox)
:selected 选择(下拉列表 select option)

addClass("my")  追加一个类
removeClass("my")  将指定类移除
toggleClass("my")  如果有my将移除,如果没有将添加。

empty()  清空标签体
remove() 删除当前对象。如果之后再使用,元素本身保留,绑定事件 或 绑定数据 都会被移除
detach() 删除当前对象。如果之后再使用,元素本身保留,绑定事件 或 绑定数据 都保留


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值