2

包装

  • wrap() 包装

  • wrapAll() 整体包装

  • wrapInner() 内部包装

  • unwrap() 删除包装(不包括body)

$(function(){
    $('span').wrap('<div>');
})

主动触发trigger

$(function(){
    $('span').on('click',function(){
        alert(123);
    })
    $('span').trigger('click');
    //主动触发点击事件
})

jQuery中的事件委托delegate

//一般写法 直接给li加事件
$(function(){
    $('li').on('click',function(){
        $(this).style.background = 'red';
    })
})

//事件委托
$(function(){
    $('ul').delegate('li','click',function(){
        $(this).css('background', 'red').siblings().css('background', '#fff');
    })
})
//阻止事件委托
$(function(){
    $('ul').delegate('li','click',function(){
        $(this).css('background', 'red').siblings().css('background', '#fff');
        $('ul').undelegate();
    })
})

event对象属性

  • event.data 事件中的数据

  • event.target 事件源

  • event.type 事件类型

<script type="text/javascript">
    $("#div1").on('click', {name:'hello'}, function(event) {
        alert(event.data.name);
    });
</script>

jQuery工具方法 $.xxx();

  • $.type() 判断类型

  • $.trim(str) 去空格

  • $.inArray('a',arr) 返回a所在数组中的位置,没有则返回-1 类似indexOf

  • $.proxy() 改变this的指向

  • $.noConflict() 防止冲突

  • $.type() 判断类型

<script type="text/javascript">
    //$.type()    判断类型
    var a = [];
    //alert( typeof a );//js 返回类型为object
    alert( $.type(a) );// 返回类型为array 更具体
    
    //$.trim(str)    去空格
    var str = "   hello    ";
    //alert( '('+ str+')' );
    alert( '('+ $.trim(str) +')' );
    
    //$.inArray('a',arr)
    var arr = ['a','b','c',''d];
    alert( $.inArray('a',arr) ); //返回0 如果没有返回-1
    
    //$.proxy()    改变this的指向
    function show(a,b){
        alert(this);
    }
    show(); //this指向window
    $.proxy(show,document,1,2)(); //show函数的this,指向了document, 1,2是参数 ()是执行show
    
    //$.noConflict()    防止冲突
    var ht = $.noConflict();
    ht(function(){
        alert(123);
    })
    
    //$.parseJSON 把字符串解析成JSON对象
    var str = '{"name":"hello"}';
    alert( $.parseJSON(str).name );
    
</script>

sgosky
234 声望12 粉丝