作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题是一些css属性有不同的名称是javascript,例如js中的textOverflow
是css中的text-overflow
。
在 js 引擎的某处是否有一个我可以访问的翻译表,或者我必须自己做一个翻译数组或对象,如:
transObj = { textOverflow : 'text-overflow' };
例如我正在遍历这个对象,我得到的只是 js 名称:
for (var n in csd) {
if (!csd.hasOwnProperty(n)) continue;
csd[n].getTrueCSSName() // is there something like this ?
}
或者也许简单的正则表达式替换就可以了,但我不知道是否规则将 js 名称中的所有大字母都转换为 css 名称中的 -[a-z]
?
最佳答案
所有包含 -
的 css 样式都被替换为它们在 ECMAscript 中的 camelCase 表示,因为我们不能在所有情况下都使用 -
.您可以通过调用如下正则表达式来翻译名称:
var name = "font-width";
// convert names like "font-width" into css camelCase form like "fontWidth"
name = name.replace( /-(\w)/g, function _replace( $1, $2 ) {
return $2.toUpperCase();
});
它也适用于 -webkit-box-shadow
或诸如此类的东西。
关于javascript - 如何从 CSSStyleDeclaration 对象获取真正的 css 属性名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11799364/
我是一名优秀的程序员,十分优秀!