【javascript】CSS文件中属性,改写为JQuery写法

来源:互联网 发布:马云淘宝股份 编辑:程序博客网 时间:2024/05/20 05:55

废话少说,直接上代码:

function changeToJQ (str) {    str='$("'+str;    var str_pre = str.substr(0,str.indexOf("{"));    var str_aft = str.substr(str.indexOf("{")).replace(/{/,'").css({"')                .replace(/:/g,'":"')                .replace(/;/g,'","').replace(/,"}/,'})');    return str_pre+str_aft;}

示例:
CSS属性:

.pxtabs ul.pxtabsul li{box-sizing: border-box; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; text-align: left;}

编译结果:

$(".pxtabs ul.pxtabsul li").css({"box-sizing":" border-box"," -webkit-box-flex":" 1"," -webkit-flex":" 1"," -ms-flex":" 1"," flex":" 1"," text-align":" left"})

这里写图片描述

注:
原代码有不少情况没有考虑清楚,现直接将更完整的代码放置如下:

function changeToJQ (str) {    str="$('"+str.replace(/\n/,"");    str = str[str.indexOf("}")-1]==";"?str:str.replace("\}",";}");    var str_pre = str.substr(0,str.indexOf("{"));    var str_aft = str.substr(str.indexOf("{")).replace(/\{/,("').css({"+'"'))                .replace(/:/g,'":"')                .replace(/;/g,'","').replace(/,"\}/,'})');    return str_pre+str_aft;}

升级成文件的方法放在github上,可以的话,fork点个赞什么的,谢谢。