html清除内联样式,是否可以使用jQuery删除内联样式?

更新:虽然以下解决方案有效,但有一种更简单的方法。见下文。

这就是我想出来的,我希望这对你或其他任何人都有用:$('#element').attr('style', function(i, style){

return style && style.replace(/display[^;]+;?/g, '');});

这将删除该内联样式。

我不确定这是你想要的。你想要覆盖它,正如已经指出的那样,它很容易完成$('#element').css('display', 'inline')。

我正在寻找的是完全删除内联样式的解决方案。我需要这个插件我正在编写,我必须暂时设置一些内联CSS值,但希望以后删除它们; 我希望样式表能够取回控制权。我可以通过存储它的所有原始值然后将它们放回内联来实现,但这个解决方案对我来说感觉更清洁。

这是插件格式:(function($){

$.fn.removeStyle = function(style)

{

var search = new RegExp(style + '[^;]+;?', 'g');

return this.each(function()

{

$(this).attr('style', function(i, style)

{

return style && style.replace(search, '');

});

});

};}(jQuery));

如果您在脚本之前的页面中包含此插件,则可以直接调用$('#element').removeStyle('display');

那应该是诀窍。

更新:我现在意识到这一切都是徒劳的。您只需将其设置为空白即可:$('#element').css('display', '');

它将自动为您删除。

以下是文档的引用:将样式属性的值设置为空字符串 - 例如$('#mydiv').css('color', '')- 如果已经直接应用了元素,则从元素中删除该属性,无论是在HTML样式属性中,还是通过jQuery .css()方法,还是通过样式属性的直接DOM操作。但是,它不会删除样式表或

我不认为jQuery在这里有任何魔力; 似乎style对象本身就是这样做的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值