题目描述
css 中经常有类似 background-image 这种通过 - 连接的字符,通过 javascript 设置样式的时候需要将这种样式转换成 backgroundImage 驼峰格式,请完成此转换功能
1. 以 - 为分隔符,将第二个起的非空单词首字母转为大写
2. -webkit-border-image 转换后的结果为 webkitBorderImage
1 //第一种方法 2 function cssStyle2DomStyle(sName) { 3 var str = sName.split("-"); 4 //console.log(str); 5 var result = ""; 6 var one = ""; 7 var i; 8 if(str[0] == ""){ 9 for( i =2 ; i<str.length ; i++){ 10 one = ""; 11 one += str[i].charAt(0); 12 result += (one.toLocaleUpperCase()+str[i].slice(1));//slice(index):取index位置的字符直到结束 13 //console.log(result); 14 } 15 result = str[1] + result; 16 } 17 else { 18 for( i =1 ; i<str.length ; i++){ 19 one = ""; 20 one += str[i].charAt(0); 21 result += (one.toLocaleUpperCase()+str[i].slice(1));//slice(index):取index位置的字符直到结束 22 } 23 result = str[0] + result; 24 } 25 return result; 26 } 27 //第二种方法(参考别人的代码) 28 function cssStyle2DomStyle(sName) { 29 /* 30 (?!^) : 反向引用, 字符串开头除外的意思 31 \- : \为转义字符 ,含有-字符 32 (\w): 含有一个字母字符 33 (\w): 含有一个或多个的字母字符 34 ^\- :^为开头字符,以-开头的字符串 35 */ 36 return sName.replace(/(?!^)\-(\w)(\w+)/g , function(a,b,c){ 37 return b.toUpperCase() + c.toLowerCase(); 38 }).replace(/^\-/,‘‘); 39 }
来源:牛客网
原文地址:https://www.cnblogs.com/daheiylx/p/9001559.html
时间: 2024-10-02 19:54:49