除了使用jQuery之外,如何清除所有内联样式

时间:2017-06-13 15:58:42

标签: javascript jquery html css

快速提问:我们的CMS使用CKEditor来允许我们的客户编辑他们的网站。前端样式使用预标签。因此,我们确切地将预标签设计为我们希望它看起来的样子。但是,他们的工作人员已经从另一个网站复制并粘贴,并且由于内联样式而改变了样式。所以我设置这个脚本来删除所有内联样式:

$("pre").attr({style : ""});

但是,我遇到一些问题需要使用text-align:center;内联标记。如何设置脚本以允许pre标签只有text-align?

2 个答案:

答案 0 :(得分:2)

只需循环标记并检查它们

$("pre").each(function(){
    var center = (this.style['text-align'] == 'center');
    $(this).attr({style : ""});
    if (center){
        $(this).css({'text-align': 'center'});
    }
});

答案 1 :(得分:1)

虽然Musa的答案完全可以接受,但这个答案略微以jQuery为中心:

$('pre').each(function () {
  var $this = $(this);
  var textAlign = $this.css('text-align') == 'center' ? 'center' : '';

  $this
    .removeAttr('style')
    .css('text-align', textAlign);
});