美文网首页我爱编程
jQuery基础问答

jQuery基础问答

作者: 七_五 | 来源:发表于2017-05-21 00:26 被阅读0次

    1、库和框架的区别

    • 库:是一个被封装的原生DOM操作和各种浏览器版本兼容的仓库,内部封装好了各种可调用的API,通过这些API的接口来实现我们所需要的功能,而不需要我们重复的写多余的代码,使得效率提高和程序简化

    • 框架:可以理解为一个模版,通过这个基础的模版我们可以依据不同的项目需求写入不同程序

    2、jQuery 的作用

    jQuery 强调的理念是写的少,做的多(write less,do more)。jQuery的作用主要在于通过对DOM操作出色的封装,简化之前复杂的DOM操作;且拥有出色的浏览器兼容性,让我们在调用中减少对浏览器兼容处理的麻烦。

    3、Jquery对象和DOM原生对象的区别,转换

    • DOM对象:每一份DOM都可以表示为“一棵树”,通常用getElementByIdquerySelector等方法来获取DOM元素节点,这样获取的DOM元素通常称之为DOM对象。

    • jQuery对象:通过jQuery包装DOM对象后产生的对象,jQuery对象是jQuery独有的。在jQuery对象中无法使用DOM对象的任何方法,这一点需要特别注意。

    • 转换:
      1、jQuery对象转成DOM对象

    var $ct = $('#transform')           //jQuery对象
    var ct = $ct[0]           //通过[index]方法转换相应DOM对象
    

    2、DOM对象转换为jQuery对象

    var ct = document.querySelector('#ct')       //DOM对象
    var $ct = $(ct)        //通过$()将DOM对象包装起来,即可获得jQuery对象
    

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

    • jquery提供了四种事件监听的方式,分别为bind、delegate、live和on
    • bind
      bind(type,[data],function(eventObject))
      在选择的元素上绑定特定事件类型的监听函数,其中data为可选参数
    //定位找出所有的div元素给其添加click事件的函数
    $('div').bind('click',function(){
         console.log(this)
    })
    
    • unbind
      bind()的反向操作,从匹配的元素中解除绑定的事件,unbind(type)删除指定类型的事件
    • delegate
      delegate(selector,type,[data],fn)
      selector用来指定触发的元素目标,监听器被绑定在调用该方法的元素上
    • live
      live(type,[data],fn)
      live方法将监听绑定在document上,而不是元素
    • on
      on(type,[selector],[data],fn)
      当忽略可选元素selector的时候,方法和bind一样
      当忽略可选元素data的时候,方法和delegate一样
    • off
      on事件的解绑方法

    推荐使用: on,on可以实现其他几种方法的效果

    5、jquery 如何展示/隐藏元素

    .show([speed],[callback])       //显示元素
    .hide([speed],[callback])       //隐藏元素
    .fadeIn([speed], [callback]      //淡入显示隐藏元素
    .fadeOut([speed], [callback]):  //淡出隐藏显示元素
    .slideUp([speed],[callback])     //以滑动的方式隐藏显示元素
    .slideDown([speed],[callback])     //以滑动的方式隐藏显示元素
    
    .toggle([speed], [callback])        //显示隐藏元素,隐藏显示元素
    fade.toggle([speed], [callback])    //淡入淡出显示隐藏元素,隐藏显示元素
    
    
    - speed:  规定速度,取值:'slow', 'normal', 'fast'或毫秒
    - callback:显示或隐藏后执行的函数
    

    6、 jquery 动画如何使用?

    animate(properties, [options])
    - properties是一个CSS属性和值的对象,动画将根据这组对象移动
    - optioins  规定动画的额外选项
    取值:
    speed 设置动画速度
    easing 规定在不同动画结点要使用的动画速度函数
    callback animate函数执行完后,要执行的函数
    step 规定动画的每一步完成后要执行的函数
    queue 布尔值 指示是否在效果队列中放置动画,如果为false,则动画立即开始
    specialEasing 来自properties参数的一个或多个CSS属性映射,以及他们对应的easing函数
    

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

    $('xxx').html()           //无参数,用于返回元素的innerHTML
    $('xxx').html(string)       //有参数,设置元素为内部HTML内容
    
    $('xxx').text()           //无参数,用于返回元素的innerText
    $('xxx').text(string)       //有参数,设置元素的内部文本
    

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

    .val([string])
    无参数时,获取表单用户的输入值
    有参数时,设置表单的输入值
    
    .attr('name')
    获取元素特定属性的值
    .attr('name','your name')     //传递两个参数,即属性名称和对应的值
    设置单个的属性值
    

    相关文章

      网友评论

        本文标题:jQuery基础问答

        本文链接:https://www.haomeiwen.com/subject/lchmxxtx.html