jQuery删除style指定的某个属性

  • 作者:39℃
  • 来源:56gee
  • 更新时间:2017-06-20 17:07:19
  • 点击:570
[0分]

jQuery.extend({
      //================= 清除指定style属性 ====================== 
   Joyee_RemoveStyle:function(tobj,style){
    if(tobj.attr('style') && (style!='')){
   var styles = tobj.attr('style').split(';');
   var Nstyles = [];
   
   for(var i=0;i<styles.length;i++){
    var _item = styles[i].split(':');
    if(_item.length>1){
     if(jQuery.trim(_item[0])!=jQuery.trim(style)){
      Nstyles.push([jQuery.trim(_item[0]),':',jQuery.trim(_item[1])].join(''));
     }
    }
   }
   tobj.removeAttr('style');
   if(Nstyles.length>0){
    tobj.attr('style',Nstyles.join(';'));
   }
    }
   }
});

例外,之所以自定义上述清除指定style属性的方法,是由于最近在开发SVG绘画功能时发现jQuery设置对象属性的方法attr有个问题——通过attr设置属性时会自动产生对应的CSS属性,但再使用attr修改属性值时却不会自动修改CSS属性值,最终导致可能显示效果不同。针对这一问题,又新增一个设置对象属性的方法(可不增加CSS的多余属性),具体定义如下如是——

      Joyee_Attr:function(tobj,attrName,attrVal,cssTag){
          if(!cssTag||cssTag==’’){cssTag = 0}
          if(cssTag==0){
              tobj.attr(attrName,attrVal);
              jQuery.Joyee_RemoveStyle(tobj,attrName);
          }
      }

收藏内容
评分

特别说明:本站所有资源仅供学习与参考,请勿用于商业用途。若转载请注明来自56gee.com中的“来源”。

栏目精华