与jQuery.camelCase相反的CSS属性名称

hea*_*der 1 javascript css jquery camelcasing css-transitions

jQuery.camelCase 用于将虚线CSS属性转换为camelcased CSSOM(?或DOM?)属性.

我想反过来动态创建一个CSS转换值.

我不想为此使用all关键字.我希望不要强迫编码器只使用background-color而不是使用backgroundColor.

这是可能的(可能是通过jQuery)还是需要大量的代码来支持跨浏览器?

编辑:

$("#example").css("transition-property", "backgroundColor") // Fail
Run Code Online (Sandbox Code Playgroud)

我不想在我的示例中完全相同,但这显示了问题.

我正在尝试遍历包含css属性和值的对象,以将对象键设置为transition-properties.例如{ backgroundColor: "red" }应该设置background-colortransition-property而不是backgroundColor.

Rob*_*obG 5

完成这项工作的一个简单功能是:

function deCase(s) {
    return s.replace(/[A-Z]/g, function(a) {return '-' + a.toLowerCase()});
}

alert(deCase('scrollbarDarkShadowColor')); // scrollbar-dark-shadow-color
Run Code Online (Sandbox Code Playgroud)

可能还有很多其他方法.

此外,您可以使用以下命令执行camelCase:

function camelCase(s) {
    return s.replace(/-(.)/g, function(a, $1){return $1.toUpperCase();});
}
Run Code Online (Sandbox Code Playgroud)