增强的toggleClass() [via: jQuery Edge: Enhanced .toggleClass() ]
1. toggleClass也可以和addClass一样,用空格分隔多个class名称了。
2. 无参数时,自动删除、恢复全部class,也可以传递一个布尔值,true为恢复class,false为删除class。
3. 也可以第一个参数为class名,第二个参数为布尔值,具体用法如下。
// <div class=”a b c”></div>
// 删除、恢复全部class
$(‘div’).toggleClass(); // <div class=”" />
$(‘div’).toggleClass(); // <div class=”a b c” />
$(‘div’).toggleClass( false ); // <div class=”" />
$(‘div’).toggleClass( true ); // <div class=”a b c” />
// 删除、恢复多个 class
$(‘div’).toggleClass( “a b” ); // <div class=”c” />
$(‘div’).toggleClass( “a c” ); // <div class=”a” />
$(‘div’).toggleClass( “a b c”, false ); // <div class=”" />
$(‘div’).toggleClass( “a b c”, true ); // <div class=”a b c” />
简化的hover() [via: jQuery Edge: Simplified .hover()]
旧代码:
$(this).addClass(‘test’);
}, function() {
$(this).removeClass(‘test’);
});
新代码:
$(this).toggleClass(‘test’);
});
live冒泡事件支持预设参数 [via: jQuery Edge: Live Events now with Data ]
var eventConfig = {
selectedClass: “selected”
};
$(“li”).live(“click”, eventConfig, function( event ) {
// 绑定函数的参数event的data属性即为传递的预设参数
var selectedClass = event.data.selectedClass;
});
更好的支持其它windows、document对象
通过.contents()获得其它框架的document对象。
这样就可以获取其height/width/CSS属性或绑定事件。
$(iframeDoc).width();
// 获得框架高度
$(iframeDoc).height();
// 绑定事件
$(iframeDoc).bind(‘click’, function( event ) {
// do something
});
// 获得CSS属性值
$(‘div’, iframeDoc).css(‘backgroundColor’);
注意,如果要处理框架内部网页元素,请使用此插件(配合jQuery 1.3.3/+),和以下语法:
$(‘iframe’).doc().find(‘a’).click(fn);
增强的index() [via: jQuery Edge: Versatile .index() ]
两个变化,第一个,支持传递selector作为参数。
旧代码:
新代码
第二个,无参数传递,直接查找在同级元素中的位置。
旧代码:
$this.parent().children().index( $this );
新代码:
自行指定this对象 [via: jQuery Edge: Bind with a Different “this” ]
在1.3.3中,可以在bind/live绑定事件时,自行指定this参数代表的对象。这个用法需求不多,而且可用event.target,event.currentTarget代替。