$(" :checkbox").click(function(){
var This = $(this);
if( This.is(":checked") ){
alert( This.val())
}else{
alert('这是没选中状态');
}
})
2. $.map
map()
函数用于
处理当前jQuery对象匹配的所有元素,并将处理结果封装为新的数组.一般使用get()得到这个数组简单来说: 就是将一组元素转换为数组(不论是否是元素数组)
var c = $("input:checkbox").map(function(index,ele){
return $(this).val(); //$(this) 永远指的是每一个遍历的对象})
var arr2 = c.get();
//alert( $.type(arr2) ); // array get()
alert( $.type( $('input').get() ) ); // get()得到的是 Array()eq返回的是一个jquery对象 get返回的是一个html 对象数组
返回的是jQuery对象,就可以继续调用其他方法,返回的是html数组就不能调用jQuery的其他方法
jQuery.map()
函数用于
使用指定函数处理数组中的每个元素(或对象的每个属性),并将处理结果封装为新的数组返回
// 1 遍历数组
var arr = [ "CodePlayer", 15, true ];
var r = $.map(arr,function(value,index){
if( typeof value === 'string'){
return null;
}else{
return value;
}
})// alert(r) 15 true $.type(r) --> Array
// 2 遍历对象
var str = {name:'anikin',age:12}
var s = $.map(str,function(value,key){
// alert(key+':'+value);
})
// 3 遍历DOM节点
var d = $.map($("[name='a']:checked"),function(dom,key){
return dom.value;
})
// alert(d);
主动触发,而且还可以传递参数,对于已存在的事件会在触动出发的时候回显示undefined
triggerHandler()跟trigger的区别: 也就是trigger会触发同名的浏览器事件,因此会触发浏览器的默认事件。$('p').bind( 'myEvent',function( event, name, age ){
for(var i=0; i<10; i++){
$('<p>'+name+'<a>::::'+age+'</a></p>').appendTo( $('.wrap') );
}
}).trigger( 'myEvent', ['jack',23412]);
* 第一,他不会触发浏览器默认事件。
* 第二,只触发jQuery对象集合中第一个元素的事件处理函数。
* 第三,这个方法的返回的是事件处理函数的返回值,而不是据有可链性的jQuery对象。此外,如果最开始的jQuery对象集合为空,则这个方法返回 undefined 。
4. jquery.proxy(fn,context) 是jquery中的applay 的实现,修改的是作用域。var t = 3;
$('#a').click(function(){
setInterval( $.proxy( function(){
if(t == 0){
t = 'done';
}else{
t--;
}
$(this).html(t);
} ,$(this)), 1000);
})