2012-04-28 12 views
6

JavaScriptを使用して、すべてのCSSプロパティ(特定のセレクタや要素だけでなく、すべて)にアクセスしたいと考えています。すべてのcssスタイルのプロパティにアクセスできますか?

.styleコレクションのすべてのプロパティを繰り返し処理します。

どうすればいいですか?

+0

、あなたはすべての要素のすべてのCSSを意味ですか? – Joseph

+0

どういう意味ですか?要素にアクセスする前に要素を選択する必要があります。 – Sampson

+0

は、style ["a"]をスタイル["z"]に、style.length =すべてのCSSプロパティをすべての要素に適用できることを意味します。 – gaurav

答えて

6

CSSStyleDeclaration objectを使用できます。 CSSStyleDeclarationオブジェクトは、CSSスタイルの属性をJavaScriptプロパティで使用できるようにします。これらのJavaScriptプロパティーの名前は、CSS属性名と密接に対応しています。

cssText
スタイル属性とその値のセットのテキスト表現:

このオブジェクトは、2つの追加プロパティがあります。テキストは、属性と値を囲む要素セレクタと中括弧を除いたCSSスタイルシートのように書式設定されます。

長さ
このCSSStyleDeclarationに含まれる属性と値のペアの数。 CSSStyleDeclarationオブジェクトは配列のようなオブジェクトでもあり、その要素は宣言されているCSSスタイル属性の名前です。 *すべて*による

https://developer.mozilla.org/en/DOM/CSSStyleDeclaration
https://developer.mozilla.org/en/DOM/CSS

1

javascriptからスタイルシートにアクセスするには、http://www.quirksmode.org/dom/changess.htmlをご覧ください。

これはIEと他のブラウザでは異なります。クロスブラウザーのすべての機能を正しく利用するにはちょっとした苦労があります。

var theRules = new Array(); 
if (document.styleSheets[1].cssRules) 
    theRules = document.styleSheets[1].cssRules 
else if (document.styleSheets[1].rules) 
    theRules = document.styleSheets[1].rules 

多くの場合、あなただけのいくつかのCSSルールを事前に定義してから適用されるスタイルを変更するためにさまざまなオブジェクトからクラスを追加または削除することができます。

+0

ansありがとう、私は私の要求をはっきりと説明することができなかったと思う、もう一度試してみてください、css3にいくつのプロパティがあります、私は正確な数を知っていませんが、私はそれをすべてjavascriptからアクセスしたい – gaurav

1
//to loop through the available css properties using jQuery 
$(document).ready(function() { 
    availableProps = getComputedStyle(document.body); 
    $.each(availableProps, function(propCount, cssProp) { 
     console.log('CSS Property : ' + cssProp); 
    }); 
}); 
+0

これは本当ですか? *アクセス*?また、OPはこれらの特性を反復することを求めた。これらの情報を回答に追加できますか? – dakab

+0

ああ、私は彼がアクセスする必要があることをキャッチしなかった。私の答えを更新しました。 –

関連する問題