当前位置:嗨网首页>书籍在线阅读

31-讨论

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

5.7.3 讨论

知道feeping creaturism(也就是creeping featurism,可怕的特征主义)总是一件好事。如果所需要的就只是切换复选框状态,可以这样编码:

jQuery.fn.toggleCheck = function( on ) {
   return on !== undefined ?
     this.attr( 'checked', on ) :
     this.each( function( i, element ) {
        var $element = $(element);
        $element.attr( 'checked', ! $element.attr('checked') );
     });
};

这比 .toggleAttr() 方法简单一些,但是只能用于 checked 属性,不能用于其他。如果以后需要 .toggleEnable() 方法怎么办?复制整个方法改变几个名称?

.toggleAttr() 中所作的额外工作给我们带来了许多灵活性:现在我们能够编写一整组属性切换器,每个都只需要一行代码。

注意

在编写这类新的工具方法之前,检查你正在使用的jQuery版本文档,在jQuery的未来版本中有可能添加类似的方法,你也许不再需要花费力气编写自己的方法。