2016-09-23 6 views
3

私はクラスでDIVています、私はHTMLでCSSクラスによって設定されたDIVのプロパティ値を読み取る方法は?

.myClass { 
    width : 40px; 
    height: 40px; 
    display:block; 
} 

を宣言している:

<div class = "myClass"> Hello</div> 

は、どのように私はJavaScriptでこのdiv要素のプロパティ "表示" の値を読み取ることができますか?

私が試した:

a = document.getElementsByClassName("myClass") 
console.log(a[0].style.display) 

をしかし、私はコンソールには何も見てないです。

+1

'はconsole.log([0] .style.display)' –

+1

一つの問題は 'getElementsByClass(である)'それは 'のgetElementsByClassNameなければなりません() ' – Mohammad

+1

' a.style.display'は 'display'がインラインスタイルを使って設定されている場合にのみ値を返します。さらに[MDNのHTMLElement.style](https://developer.mozilla.org/en-US/) docs/Web/API/HTMLElement/style)。 – 5aledmaged

答えて

4

あなたはすべてのスタイルシートを適用した後、 "計算された" スタイル(結果のスタイルを計算する必要があります。 がこれはgetComputedStyle()を呼び出すことによって行われます。

var element = document.getElementsByClassName("myClass")[0]; 
 
var style = window.getComputedStyle(element).getPropertyValue('display'); 
 
console.log(style);
.myClass { 
 
    width : 40px; 
 
    height: 40px; 
 
    display:block; 
 
}
<div class="myClass"> Hello</div>

+0

それは素晴らしい作品です、ありがとう!最後の1つを手伝ってくれる時間があれば、私はディスプレイのプロパティの値を変更したいのですが? setPropertyValue( 'display'、 'none')を試しましたが、動作しません。 – avazwij

+1

普通の 'element.style.display = 'none''です。 –

1
document.getElementByClass("youclass")[i].style.property = style 

getElementByClass()がすることそのクラスの要素を持つ配列を返して、変更したい要素のインデックスを与える必要があります。

2

jQueryのオプション:

$(".myClass").css("display") 

console.log($(".myClass").css("display"));
.myClass { 
 
    width : 40px; 
 
    height: 40px; 
 
    display:block; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div class = "myClass"> Hello</div>