0

我会具体:

我该如何更换

<style type="text/css">
   .class1 {font-weight:bold; font-size:10pt;}
   .class2 {font-weight:bold; font-size:12pt;}
   ...
   .classN {font-weight:bold; font-size:8pt; vertical-align:sub;}
</style>

<div class="class2" style="color:blue;">
   Bold Text
</div>

有了这个:

<div style="color:blue; font-weight:bold; font-size:12pt;">
   Bold Text
</div>

**请注意 - 节点可以是任何节点 - 属性顺序无关紧要。- 类属性不需要被剥离

有任何 HTML 方法(C#)可以做到这一点吗?正则表达式?有任何想法吗?

提前致谢!

4

2 回答 2

0

如果您使用的是 jquery,则可以使用此插件:

/*
 * getStyleObject Plugin for jQuery JavaScript Library
 * From: http://upshots.org/?p=112
 *
 * Copyright: Unknown, see source link
 * Plugin version by Dakota Schneider (http://hackthetruth.org)
 */

(function($){
    $.fn.getStyleObject = function(){
        var dom = this.get(0);
        var style;
        var returns = {};
        if(window.getComputedStyle){
            var camelize = function(a,b){
                return b.toUpperCase();
            }
            style = window.getComputedStyle(dom, null);
            for(var i=0;i<style.length;i++){
                var prop = style[i];
                var camel = prop.replace(/\-([a-z])/g, camelize);
                var val = style.getPropertyValue(prop);
                returns[camel] = val;
            }
            return returns;
        }
        if(dom.currentStyle){
            style = dom.currentStyle;
            for(var prop in style){
                returns[prop] = style[prop];
            }
            return returns;
        }
        return this.css();
    }
})(jQuery);

并尝试这样的事情

<div class="class2" style="color:blue;">
   Bold Text
</div>
<script type="text/javascript">
  var computedStyle;
  $("div[class^='class']").each(function(){
    computedStyle = $(this).getStyleObject();
    $(this).css(computedStyle);
    $(this).attr('class','');
  });
</script>
于 2012-04-13T16:36:38.303 回答
0

使用此工具将您的 HTML/CSS 转换为内联 CSS。=

http://inlinestyler.torchboxapps.com

仅在必要时才使用它,例如样式化基于 HTML 的电子邮件等。

于 2012-04-13T16:37:42.203 回答