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

废话少说,直接上代码:

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点个赞什么的,谢谢。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章