0

我正在尝试获取正则表达式(在 Javascript 中)来获取边距、填充和边框值,从 document.styleSheets 中读取它们

我写道:

/:\s*?(\d+)(px)?/gi

但不好。主要问题是规则应该是这样的:

margin: 3px;
margin: 3px 2px;
margin: 3px 2px 1px;
margin: 3px 2px 1px 0;
margin-top: 3px;
margin-right: 3px;
margin-left: 3px;
margin-bottom: 3px;

填充也是如此。对于边界是相似的:

border: 1px solid #000;
border-width: 1px 1px 2px 0;
border-top-width: 1px;
border-left-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-top: 1px solid #000;
border-left: 1px solid #000;
border-right: 1px solid #000;
border-bottom: 1px solid #000;

我可以拆分规则并搜索每种类型,例如

if(rule.indexOf('margin') > -1) {
    ...
} else if (rule.indexOf('margin-top') > -1) {
    ...
}

并使用不同的正则表达式..但我想要更通用的正则表达式来避免一长串“如果”。

有谁能够帮我?

非常感谢,大

4

1 回答 1

0

由于样式表可以用几种不同的方式格式化,你应该看看其他的替代方案,比如JSizes jQuery 扩展插件,它将非常有助于获取这些值。

于 2012-12-10T11:07:06.297 回答