我爱编程

jQuery

2017-08-04  本文已影响31人  来人啊都给朕退下吧

jQuery 能做什么?

jQuery将JavaScript的代码进行了封装,处理了兼容性问题,提供API进行调用,让我们实现功能时不用再为兼容性而困扰,少写了许多代码。
jQuery是一个JavaScript函数库,可以方便地:

jQuery 对象和 DOM 原生对象有什么区别?如何转化?

区别:

DOM对象 :W3C标准用于操作文档的API。具体点来说就是指 HTML 文本中的所有被标签标记的东西 ,在js里可以用 getElementById 等传统的方法获得的对象,拥有原生对象的属性和方法。
jQuery对象:将DOM原生对象进行封装后得到的类数组对象

注意:

jQuery对象只能用jQuery对象的方法
DOM对象只能使用DOM对象的方法

转化:

jquery提供了两种方法将一个jquery对象转换成一个DOM对象,[index]和get(index)。
使用$(DOM对象)就可以将DOM对象转化为jQuery对象

jQuery中如何绑定事件?bind、unbind、delegate、live、on、off都有什么作用?推荐使用哪种?使用on绑定事件使用事件代理的写法?

//bind用于绑定事件,古老写法,不推荐
$(selector).bind(event,[data],function)

//unbind用于解绑事件,古老写法,不推荐
$(selector).unbind(event,[function])

//delegate用于事件代理,古老写法,不推荐
$(selector).delegate(childSelector,event,[data],function)

//live() 方法为被选元素附加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。不推荐使用
$(selector).live(event,[data],function)


.on( events [,selector ] [,data ], handler(eventObject) )
增加事件处理函数

  1. events:事件类型和可选的命名空间,或仅仅是命名空间,比如"click", "keydown.myPlugin", 或者 ".myPlugin",一个或多个
  2. selector:选择器,用于过滤出被选中的元素中能触发事件的后代元素。
  3. data:传递给事件处理函数的event.data
    handler(eventObject):事件被触发时的执行函数。若该函数只是要执行return false,该参数位置可以直接简写成 false

// 普通事件绑定,最简单的用法
$('div').on('click', function(e){
    console.log(this); //点击的元素
    console.log(e); // 事件,e.target 事件的对象
});
// 事件委托或者事件代理,想让div 下面所有的span绑定事件,可以把事件绑定到div上
$('div').on('click', 'span', function(e){
    console.log(this);
    console.log(e);
});

// 可以在绑定的时候给事件处理程序传递一些参数
$('div').on('click', {name: 'Byron', age: 24}, function(e){
    console.log(e.data);
});


命名空间的作用:解绑事件时做一个区分

click.hello事件解绑,但是click事件不受影响

   $('.box>ul').on('click',3,function(e){
      console.log(e.data)
    })
    $('.box>ul').on('click.hello','li',function(){
      console.log(this)
      var str = $(this).text()
      $('#wrap').text(str)
    })
    $('.box>ul').off('click.hello')


.off( events [, selector ] [, handler ] )
移除一个事件处理函数

jQuery 如何展示/隐藏元素?

toggle是切换的意思,用来切换元素的隐藏、显示,类似于toggleClass
事件处理套件也有一个名为.toggle()方法。哪一个被调用取决于传递的参数的设置

  1. duration:动画持续多久
  2. easing:表示过渡使用哪种缓动函数,jQuery自身提供"linear" 和 "swing"
  3. complete:在动画完成时执行的函数,先完成动画,后执行函数

jQuery 动画如何使用?

渐变

滑动

自定义动画

如何设置和获取元素内部 HTML 内容?如何设置和获取元素内部文本?

如何设置和获取表单用户输入或者选择的内容?如何设置和获取元素属性?

$('input').val() //没有参数的时候返回input的value值
$('input').val('newValue'); //当传递了一个参数的时候,将参数值设为input的value值
$('input')[0].value = "hello" 用原生DOM的方式设置值


 <input type="text" value="hello">
    <script>
        console.log($('input').attr("type")) //text
    </script>

为匹配的元素集合中的每个元素中移除一个属性

上一篇 下一篇

猜你喜欢

热点阅读