22-解决方案
5.5.2 解决方案
编写一个简单的插件,将 .radioClass() 方法添加到jQuery中:
//从选中元素的所有兄弟元素中删除指定类,然后将该类添加到选中元素。按照这个顺序可以选中多个兄弟元素
//感谢Ext Core提供的思路
jQuery.fn.radioClass = function( cls ) {
return this.siblings().removeClass(cls).end().addClass(cls);
};
这个函数很简短,所以写在一行中也不难理解,但是按照秘诀5.4所描述的那样缩进代码,能够很清晰地看出其工作方式:
jQuery.fn.radioClass = function( cls ) {
return this // 开始链,返回其结果
.siblings() // 选择选中元素的所有兄弟元素
.removeClass(cls) // 从兄弟元素中删除该类
.end() //回到原始选择集
.addClass(cls); // 为选中元素添加类
};