jquery

作者: 倾国倾城的小饼干 | 来源:发表于2017-10-03 17:41 被阅读0次
    1. jquery能做什么

    选择网页元素、改变结果集、元素的操作:取值、赋值、移动、复制、删除和创建、工具方法、事件操作、特殊效果、ajax

    1. jquery对象和dom对象的区别以及转化

    区别

    不可以这样: document.querySelector('#container').height()
    jquery可以这样: $('#container').html('123')
    dom可以这样: document.querySelector('#container').innerHtml='456'
    所以jquery只能使用jquery的属性和方法

    转化

    jquery转化为dom:
    $('#container li')[0]
    则可使用dom对象的方法:$('#container li')[0].innerText='1111'
    dom转化为jquery:
    $(document.querySelector('.active'))

    1. 事件

    绑定事件

    普通的事件绑定:
    $('div').on('click',function(e){
    console.log(this);
    console.log(e);
    })
    简写:
    $('div').click.(function(){
    ......
    })

    bind、unbind、delegate、live、on、off的作用:

    bind是给具体的某个元素绑定事件,unbind就是解绑比如:
    $('button').bind('click',function(){})
    live对于某一元素已经存在还是将来被添加到页面中,live都能将事件绑定到它身上。原理用到的就是事件委派
    假如有一个表格,我们要动态增删里面的行元素,同时想给每个行元素绑定一个点击事件。给具体的tr元素绑定事件时不现实的。因为它总是变化。于是我们可以换个思路,把事件绑定发哦table元素上。如果点击事件目标是tr元素,执行绑定的函数就好了。这就是事件委派
    $('table tr').live('click,function(){}')
    然而事实上,我们要动态加的元素指不定在dom树的哪一层,为了让所有新添加的元素都能触发预先绑定的事件处理函数,jquery将事件处理函数委派在了dom树的根元素上,也就是document元素身上,这样一来,无论新添加的元素位于dom树的哪个层级,它触发的事件冒泡到根元素上。在这里,如果事件触发目标是想绑定事件处理函数的那个元素,执行该函数就好了。
    这样就用到了delegate把事件绑定在table身上
    $('table').delegate('tr','click',function(){})
    on的使用方法很简单:
    如果你没有指定后代元素,那么就是简单的事件绑定,类似于bind。比如:
    $('tr').on('click',function(){});
    会把点击事件绑定在tr身上,如果执行完代码后新添加了一个tr元素,那它身上自然是没有事件处理函数的,那做事件委托是这样子的:
    $('table').on('click','tr',function(){})
    事件委托到了table元素身上,它的tr子元素身上的点击事件会触发事件处理函数。off对应on解绑事件
    推荐使用on和off

    1. jquery显示和隐藏元素

    .hide()隐藏文本。.show()显示文本
    使用代码:

    $('#hide').click(function(){
        $('p').hide()
    })
    $('#show').click(function(){
        $('p').show()
    })
    
    1. jQuery 动画的使用

    .toggle:切换。如果以前是隐藏则是显示。
    .fadeIn:淡入方式
    .fadeOut:淡出方式
    .slideDown、.slideUp:滑动
    .animate:过程渐变

    $div3.animate{
        width: 80px;
        height: 80px;
        left: 0px;
        right: 0px;(必须是定位的)
    }
    

    .finish()//回到开始
    .stop()//停止执行

    1. 设置和获取html的内部的内容和文本内容

    $('div').html()//当没有参数的时候。返回元素的innerHtml
    $('div').html('123')//当传递了一个string参数的时候。修改元素的innerHtml为参数值
    text()与html类似,操作的是dom的innerText方法。

    1. 设置和获取表单用户输入或者选择的内容及设置和获取元素属性

    $('#ipt1').val()//获取元素的属性
    $('#ipt1').val('hello world')//设置value的值
    $('#ipt1').attr('type')//获取元素特定的属性值
    $('#ipt1').attr('type','checkbox')设置元素属性

    1. demo
    2. demo
    3. demo
    4. demo

    相关文章

      网友评论

          本文标题:jquery

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