扩展jquery选择器

常使用 class或id作为选择器
尤其当class改变时,需要修改对应选择器
扩展选择器,让选择器不再依赖class,可以放心的修改class而不用担心选择器。

html

<div class="box" data-hook="testHook">我是钩子</div>

使用

$.hook('testHook').css('background','red');

源码

// 插件扩展,依赖jQuery
;(function($){
    $.extend({
        hook:function(hookName){
            var selector;
            if ( hookName === '*' ){
              // select all data-hooks
              selector = '[data-hook]';
            }else if( hookName==false ){
                console.error('hook错误');
                selector = '[data-hook]';
            }else{
              // select specific data-hook
              selector = '[data-hook*="'+hookName+'"]';
            }
            return $(selector);
        },
    });
})(jQuery);

当class修改时,不用再修改对应选择器。

发布了6 篇原创文章 · 获赞 22 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_23215957/article/details/52997205