1

私が欲しいものを批判する人もいることは知っていますが、質問します。


cssがインラインでフォーマットされていないと、要素のスタイルを取得できないことを私は知っています。styleだから私はすべてのタグを取得し、innerHTMLこのような配列を作成するために正規表現を適用する正規表現が必要です(私はそれを作成するのはあまり得意ではないため) :

css ["myDiv"]["color"]->"赤"

getComputedStyleブラウザの非互換性のために使用せずに。

4

1 に答える 1

3

正規表現を使用して、これにリモートで近いものを実現する方法はありません。CSSルールは複雑なアルゴリズムを使用して適用され、ルールはさまざまな方法で継承、優先順位付け、およびオーバーライドできます。主要なブラウザが準拠した実装を思い付くのに何年もかかったのは偶然ではありません。

代わりに、その実装を正確に実行する必要があります。必要なツールはJavaScriptであり、必要なAPIはDOMです。DOMのノードごとに、適用されたすべてのスタイルを含み、生成しようとしているものに非常に近い形式のスタイルオブジェクトがあります。getComputedStyleおよびを介してこれにアクセスできますcurrentStyle

于 2012-06-06T20:50:27.423 に答える