炎炎设计
function changeColor(dom, fn(str)) {//这是设置样式的原方法 for(var i=0,len=attr_arr.length;i<len;i++){ setStyle(dom,i,attr_arr[i]) ;//调用新的样式设置的方法 } }function setStyle(a,b,c){ var somthing=a+"."+"style"+"."+b+"="+c+";";//我不知道这样平起来对不对,或者你可以直接a.attr(b,c); return somthing;}function fn(str){//这个就是那个josn的处理方法(用这个方法替换josn数据) var Str=str; var reg=/\:([^\:]+)\;/g; var attr=str.match(reg);//获取属性值数组 var attr_n=Str.replace(attr,"");//获取属性名数组 for(var i=0,len=attr.length;i<len;i++){ var attr_arr=[]; attr_arr.push(attr[i]+":"+attr_n[i]);//放到一个新数组内,没办法,我倒是想直接返回两个数组,貌似不行,逻辑上说不通。 } return attr_arr;//返回的数组,大概的格式如 :attr_arr=[color:#222;background:#333;];这样的}以上的谨为思路,具体每步的实现还得楼主自己去玩这需求...好吧,希望能帮到你