jQuery小记

jQuery 能做什么? jQuery是一个Javascript库,可以让用户更简单的进行HTML文档DOM遍历、操作、事件处理、动画,以及使用Ajax。且具有多浏览器兼容性。
jQuery 对象和 DOM 原生对象有什么区别?如何转化?

  • jquery选择器得到的jquery对象和标准的javascript中document.getElementById()取得的dom对象是两种不同的对象类型,两者不等价;
  • jQuery无法使用DOM对象的任何方法,同理DOM对象也不能使用jQuery里的方法. 乱使用会报错。
转换 $('#id') 得到jquery对象 $('#id')[0]or$('#id').get(0)转换为DOM原生对象 var domO = document.querySelector('#id') 得到DOM对象 $(domO) 转换为jquery对象

jQuery中如何绑定事件?bind、unbind、delegate、live、on、off都有什么作用?推荐使用哪种?使用on绑定事件使用事件代理的写法? on(events,[selector],[data],fn)
在选择元素上绑定一个或多个事件的事件处理函数。
on()方法绑定事件处理程序到当前选定的jQuery对象中的元素。在jQuery 1.7中,.on()方法 提供绑定事件处理程序所需的所有功能。
  • events: 一个或多个用空格分隔的事件类型和可选的命名空间,如"click"或"keydown.myPlugin" 。
  • selector: 一个选择器字符串用于过滤器的触发事件的选择器元素的后代。如果选择的< null或省略,当它到达选定的元素,事件总是触发。
  • data: 当一个事件被触发时要传递event.data给事件处理函数。
    fn: 该事件被触发时执行的函数。 false 值也可以做一个函数的简写,返回false。
off(events,[selector],[fn])
在选择元素上移除一个或多个事件的事件处理函数。
  • events: 一个或多个空格分隔的事件类型和可选的命名空间,或仅仅是命名空间,比如"click", "keydown.myPlugin", 或者 ".myPlugin".
  • selector: 一个最初传递到.on()事件处理程序附加的选择器。
    fn: 事件处理程序函数以前附加事件上,或特殊值false.
其它几个基本弃用 GG了 使用 on off 就可以了
$(document).on('click','li.ct',function(){ alert("hi"); }); //document检测到点击时,匹配事件源为li且类名含ct的元素,并绑定事件。

jQuery 如何展示/隐藏元素? hide([speed,[easing],[fn]])
隐藏显示的元素
  • speed: 三种预定速度之一的字符串("slow","normal", or "fast")或表示动画时长的毫秒数值(如:1000)
  • easing: (Optional) 用来指定切换效果,默认是"swing",可用参数"linear"
  • fn: 在动画完成时执行的函数,每个元素执行一次。
show(([speed,[easing],[fn]])
显示隐藏的匹配元素。
  • speed: 三种预定速度之一的字符串("slow","normal", or "fast")或表示动画时长的毫秒数值(如:1000)
  • easing: (Optional) 用来指定切换效果,默认是"swing",可用参数"linear"
  • fn: 在动画完成时执行的函数,每个元素执行一次。
toggle([speed],[easing],[fn]
如果元素是可见的,切换为隐藏的;如果元素是隐藏的,切换为可见的。
  • speed: 隐藏/显示 效果的速度。默认是 "0"毫秒。可能的值:slow,normal,fast。"
  • easing: (Optional) 用来指定切换效果,默认是"swing",可用参数"linear"
    fn: 在动画完成时执行的函数,每个元素执行一次。
jQuery 动画如何使用? animate(params,[speed],[easing],[fn])
【jQuery小记】用于创建自定义动画的函数。这个函数的关键在于指定动画形式及结果样式属性对象。这个对象中每个属性都表示一个可以变化的样式属性(如“height”、“top”或“opacity”)。注意:所有指定的属性必须用骆驼形式,比如用marginLeft代替margin-left
  • params:一组包含作为动画属性和终值的样式属性和及其值的集合
  • speed:三种预定速度之一的字符串("slow","normal", or "fast")或表示动画时长的毫秒数值(如:1000)
  • easing:要使用的擦除效果的名称(需要插件支持).默认jQuery提供"linear" 和 "swing".
  • fn:在动画完成时执行的函数,每个元素执行一次。
$("#go").click(function(){ $("#block").animate({ width: "90%", height: "100%", fontSize: "10em", borderWidth: 10 }, 1000 ); }); $('#btn').on('click',function(){var actions = [ {width:80,height:80,left:0,top:0}, {width:60,height:60,left:100}, {top:100}, {left:0}, {top:0} ]actions.forEach(function(action,index){ $('.box').animate(action,500) }) })$("#block").animate().animate().animate() 调用方法返回值还是jquery对象 所以可以一直调用 或者这么写 $("#block").animate() .animate() .animate()

如何设置和获取元素内部 HTML 内容?如何设置和获取元素内部文本?
$(元素).html(); //不传参则获取html内容 $(元素).html('
  • 111
  • '); //传参则改变元素内部html内容为所传参数 $(元素).text(); //不传参则获取元素内部的文字信息 $(元素).text('hi'); //元素内部文字信息设置为'hi'.

    如何设置和获取表单用户输入或者选择的内容?如何设置和获取元素属性?
    $('input').val()//获取input里面的内容 $('input').val('123')//修改input的值 $('input:checked').val()//获取选择的value $('input:checked').val('23')//修改选择的value $("img").attr("src"); //获取img的src $("img").attr({ src: "test.jpg", alt: "Test Image" }); //为所有图像设置src和alt属性

    代码1
    代码2
    代码3
    代码4

      推荐阅读