【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點個贊什麼的,謝謝。

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