0

document.styleSheetsから読み取り、マージン、パディング、ボーダーの値を取得するために(Javascriptで)正規表現を取得しようとしています。

私はそれを書いた:

/:\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) {
    ...
}

異なる正規表現を使用します..しかし、「if」の長いリストを避けるために、より一般的な正規表現が必要です。

誰か助けてもらえますか?

どうもありがとう、ダ

4

1 に答える 1

0

スタイルシートはいくつかの異なる方法でフォーマットできるため、これらの値を取得するのに非常に役立つJSizes jQuery 拡張プラグインなど、他の代替手段を検討する必要があります。

于 2012-12-10T11:07:06.297 に答える