首页 > 试题广场 >

css 中经常有类似 background-image 这种

[问答题]

css 中经常有类似 background-image 这种通过 - 连接的字符,通过 javascript 设置样式的时候需要将这种样式转换成 backgroundImage 驼峰格式,请完成此转换功能。

输入:-webkit-background-image

输出:webkitBackgroundImage

function changeSplit(str) {
    var array = str.split('-')
    for (var i = array.length-1; i>0;i--) {
        if(array[i] == '') {
            continue
        }
        else {
            array[i] = array[i].substring(0,1).toLocaleUpperCase()+ array[i].substring(1)
        }
    }
    return array.join('')
}

发表于 2019-06-27 14:23:29 回复(0)
更多回答
function hump(cssStr){
if(typeof cssStr !== 'string') return;
var reg = /\-([a-z])/g;
return cssStr.replace(/^\-/,'').replace(reg,function(match,p1){
return p1.toLocaleUpperCase();
});
}

发表于 2019-07-25 12:04:19 回复(0)
var formatStyle=function(str){
  if(typeof str !== "string"){
    return
  }  var str=str.split("-").slice(1)
    for(let i=1;i<str.length;i++){
    str[i]=str[i].slice(0,1).toUpperCase()+str[i].slice(1)
    } return str.join("")
}
console.log(formatStyle("-webkit-background-image"))

编辑于 2019-08-16 17:44:51 回复(0)
function translate(str) {
  return str
    .split('-')
    .map((v) => {
      return v.charAt(0).toUpperCase() + v.slice(1);
    })
    .join('');
}
发表于 2020-06-25 15:43:50 回复(0)
let str = '-webkit-background-image' let str2=str.split('-'); let str2[2]=str2[2].charAt(0).toLocaleUpperCase()+str2[2].slice(1)
let str2[3]=str2[3].charAt(0).toLocaleUpperCase()+str2[3].slice(1)
let newstr=str2.join('')



 


发表于 2019-07-30 20:47:19 回复(0)
function toCamel(str) {
return  typeof str === 'string' && (str.split('-').filter((v) => {return v.length > 0 }).map((v, i) => { return i === 0 && v || v[0].toUpperCase() + v.slice(1)}).join(''))
}



编辑于 2019-11-10 00:04:06 回复(0)
const camel_hump = str => {
    const temp =str.split(/\-|\_/);
    if (temp &&temp.length) {
        for (let i = 1; i < temp.length; i++) {
            temp[i] = temp[i][0].toUpperCase()+ temp[i].slice(1);
        }
    }
    return temp.join('');
}

发表于 2021-04-26 22:12:29 回复(0)
var str = "-webkit-background-image";
var reg = /-(\w)/g;
console.log(str.replace(reg,function($,$1){
    return $1.toUpperCase();
}));
发表于 2020-06-13 20:13:53 回复(0)
function tuoFeng(str){
    let arr = str.split('-');
    if(arr[0] === ''){
        arr.splice(0, 1);
    }
    return feng = arr.map((item, index) => {
        if(index !== 0){
            return item[0].toUpperCase().concat(item.slice(1));
             
        }
        return item;
    }).join('');
}

发表于 2020-04-23 23:59:47 回复(0)
Ped头像 Ped
var reg = /\b-(\w)/g;
var str = "-webkit-background-image";
var newStr = str.replace(reg,function($,$1){
    return $1.toUpperCase();
});
console.log(newStr.replace(/-/,''));

发表于 2019-09-23 23:25:45 回复(0)
function changeInput(var str) {
    var ret = "";
    for(let i = 0; i < str.length;i++){
         if(str[i] != "-") {
            ret = ret + str[i]
        }
        else {
            ret = ret + str[i + 1].toUpperCase();
            i++;
        }
    }
    return ret;
}

编辑于 2019-09-19 15:22:34 回复(1)
str.replace(/^-[a-z]/,(res)=>res[1]).replace(/-[a-z]/g,(res)=>res[1].toUpperCase())

发表于 2019-09-02 19:48:44 回复(0)
let a = '-webkit-background-image';
(a.split("-").map((item,index)=>{if(index != 1){return item.substring(0,1).toUpperCase()+item.substring(1,item.length);console.log(index,c)}else{return item}})).join('');
编辑于 2019-08-23 17:33:24 回复(0)
const camel_hump = (str) => { return str.replace(/-([a-z])/g, (all,groub)=>{ return groub.toUpperCase(); }) };
发表于 2019-08-13 09:30:12 回复(0)
function cssStyle2DomStyle(sName) {
    var result = '';
    sName.replace(/-?(\w)(\w+)-?/g, function(match, a, b, pos) {
        if(pos == 0) {
            result = a + b;
        } else {
            result += a.toUpperCase() + b;
        }
    })
    return result;
}

发表于 2019-08-10 21:10:35 回复(0)
function handleStr1(str){
var arr=str.split(/\-|\_/);
arr.splice(0, 1);
var res = arr.map((item) => `${item[0].toLocaleUpperCase()}${item.substr(1)}`)
return res.join('')
}

发表于 2019-08-04 20:44:19 回复(0)
function test(str){    str = str.split("");
    let index = str.indexOf('-');
    while(index != -1){
        str.splice(index, 2, str[index+1].toUpperCase())         index = str.indexOf('-');
    }     return str.join('');
}

发表于 2019-08-01 09:37:36 回复(0)
 function changeText(text){
    let transText =  text.split(''),spliceIndex
    const transArray = []
    for (let i=0;i<transText.length;i++) {
        spliceIndex = transText.indexOf('-')
        if (spliceIndex == 0) {
            transText.splice(0,1)
        } else if (spliceIndex !==  -1 ) {
            transText.splice(spliceIndex,1)
            transText[spliceIndex] = transText[spliceIndex].toUpperCase()
        }
    }
    return transText.join("")
}
changeText("-webkit-background-image")
发表于 2019-07-12 01:48:00 回复(0)

function changeFormat(str){
    let newStrArr=str.split('');
    let returnStr='';
    let lowerIndex=0;
    for(let i=0;i<newStrArr.length;i++){
        if(newStrArr[i]=='-'){
           lowerIndex++;
            if(lowerIndex>1){
                let newLetter=newStrArr[i+1].toUpperCase();  //-webkit-Background-Image
                newStrArr.splice(i+1,1,newLetter);
            }
        }
    }
    returnStr=newStrArr.join('').replace(/\-/g,'');
    return returnStr;
}
发表于 2019-07-10 14:02:04 回复(1)
function camelBack(str) (
 let newStr = str.charAt(0) == '-'?str.slice(1).split('-'):str.split('-')
    let res = newStr[0];
newStr[0]
)

发表于 2019-07-01 10:32:23 回复(0)
var str = "-webkit-background-image";
var n = str.split('-');
var list ="";
list += n[1];
for(var i = 2; i < n.length ; i ++){
    list += (n[i][0].toUpperCase() + n[i].replace(n[i][0],""));
}
console.log(list);
发表于 2019-06-29 23:23:42 回复(0)