常使用 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修改时,不用再修改对应选择器。