我将具体说明:
如何替换
<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#)呢?正则表达式?有什么想法吗?
提前致谢!
答案 0 :(得分: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>
答案 1 :(得分:0)