0

要素のスタイルを取得するためのより信頼できる方法が必要な場合は、

document.defaultView.getComputedStyle..

それ以外の

document.getElmById(x).style.color..

しかし、別のものがあります。

document.styleSheets...

私はJSが初めてで、document.styleSheets今日読んだばかりです。そして私の質問は:

  1. 1 つのスタイル プロパティ (例: 色) だけを取得したい場合、どれを使用すればよいですか?
  2. document.styleSheetsのためですか?いつ使用する必要がありますか?
  3. 次のようなメソッドを追加したい場合:

    // it applies multiple properties
    elm.setStyle({
      color: '#f00', 
      marginLeft: x,
      opacity: 0.5,
      background: '#000 url(x.jpg) left top no-repeat'
    }); 
    

関数のベースとして使用する必要があるのはどれですか?

最後に、すべてのあなたの助けに感謝します!

4

1 に答える 1

0

document.styleSheetsページに読み込まれた実際のスタイルシートのリストです。豆知識: 新しい「スタイルシート」を動的に作成してこのリストに追加できます。実際に別のファイルをロードする必要はありません。

要素の現在のスタイルを調べている場合、質問する必要があるのは、「スタイルシートがスタイルをどうあるべきかをもっと気にするか、それとも実際の現在の (計算された) スタイルがどうなるかをもっと気にするか?」ということです。どちらがより適切かは、状況によって決まります。

元の宣言されたスタイルが気になる場合は、スタイルシート自体を調べてください。ただし、ファイルを解析し、問題の要素に適用されるすべてのカスケード スタイルを見つける必要があるため、これは見た目よりもかなり複雑です。

現在の計算されたスタイルが何であるかを気にする場合は、 のgetComputedStyle()方が信頼性が高くなり.styleます。

設定については、スタイル ルールを 1 つの要素に直接適用する場合は を使用します.styleが、多くの (そして将来の!) 要素に適用する新しいルールを作成する場合は、動的スタイルシート/ルールを作成して.styleSheetsコレクションに追加します。

于 2013-06-05T03:54:51.867 に答える