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])

用于创建自定义动画的函数。这个函数的关键在于指定动画形式及结果样式属性对象。这个对象中每个属性都表示一个可以变化的样式属性(如“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

    你可能感兴趣的:(jQuery小记)