zoukankan      html  css  js  c++  java
  • jquery--扩展

    首先操作DOM元素,用jQuery可以这么实现:

    $('.div1').css('backgroundColor', '#fffceb').css('color', '#d85030');

    $('.div2').css('backgroundColor', '#fffceb').css('color', '#d85030');

    这样我们总是写重复的代码,所以可以统一起来,写一个方法:

    所以:

    <!-- HTML结构 -->
    <div id="div1">
        <p>什么是<span>jQuery</span></p>
        <p><span>jQuery</span>是目前最流行的<span>JavaScript</span>库。</p>
    </div>
    
    <!--js-->
     $(function(){
            $.fn.styleCss=function(){
                this.css('backgroundColor', '#fffceb').css('color', '#d85030');
                return this;
            }//给jQuery对象绑定一个新方法是通过扩展$.fn对象实现的
        $('#div1 span').styleCss(); 
    })

    效果: 

    ———————————————————

    ——————————————————

    用return this是因为jQuery对象支持链式操作,我们自己写的扩展方法也要能继续链式下去:

    $('span.hl').highlight1().hide();

    但是这个版本并不完美。颜色能随便换,怎么办?我们可以给方法加个参数,让用户自己把参数用对象传进去。于是我们有了第二个版本的styleCss2()

         $(function(){
                $.fn.styleCss2=function(options){
                    var bgColor=options && options.backgroundColor ;
                    var Color=options && options.color;
                    this.css('backgroundColor',bgColor).css('color',Color)
                    return this;
                }
                $('#div1 span').styleCss2({
                    backgroundColor:'red',
                    color:'#ffffff'
                });

    效果:

    ————————————————————

    ————————————————————

    好了,先写到这了,未完待续。。。

  • 相关阅读:
    田忌赛马(动态规划)
    关于程序中使用相对路径的小技巧
    ReadyGo新闻管理系统 使用号召帖
    解决:Visual Studio2005打开UTF8网页文件时出现乱码
    10个不为人知 但绝对值得收藏的网站
    幻数
    模板偏特化的威力
    c++ 拷贝
    win7下Visualbox 装Ubuntu10.10, 装eclipsecdt+svn插件全过程
    找完工作的心情
  • 原文地址:https://www.cnblogs.com/sun927/p/7418647.html
Copyright © 2011-2022 走看看