是否有轉換轉換CSS規則JavaScript屬性
"text-align"
"-webkit-transform"
"position"
"background-image"
到
"textAlign"
"webkitTransform"
"position"
"backgroundImage"
與香草的JavaScript(jQuery的沒有,ECT)的快捷方式或預定義的JavaScript方法?
是否有轉換轉換CSS規則JavaScript屬性
"text-align"
"-webkit-transform"
"position"
"background-image"
到
"textAlign"
"webkitTransform"
"position"
"backgroundImage"
與香草的JavaScript(jQuery的沒有,ECT)的快捷方式或預定義的JavaScript方法?
狩獵周圍後,我發現,我正在處理的變量是CSSStyleDeclaration
類型,它有一個方法getPropertyCSSValue
簡化提取
var rules = document.styleSheets[0/*sheetIndex*/].rules[0/*ruleIndex*/];
console.log(rules.toString()); // "[object CSSStyleRule]"
for(var a = 0; a<rules.style.length; a++)
{
var rule = rules.style[a];
console.log(rule,rules.style.getPropertyCSSValue(rule).cssText); // eg: "text-align","center"
}
這避免了"border"
問題和"border-left"
使用這個表達式替換:
"text-align".replace(/-([a-z])/g,function(m,l,i){return i?l.toUpperCase():l})
這一個連字符,然後一個字母相匹配。替換返回字母,如果索引是真的(不是0),則大寫。
+1無法想到一個快速的方法來消除第一次炒作而不改變以下字符 – 2014-10-28 17:32:03
雖然中我沒有意識到這樣做的方法,它應該是一個相當簡單的工作與正則表達式替換如果規則假定只是「刪除初始連字符如果存在,並刪除隨後的連字符和大寫以下字母「 – 2014-10-28 17:25:59