2009-04-17 6 views
72

を持っているかどうかを確認するために、私はdiv要素があります。jQueryの:どの要素が特定のCSSクラス/スタイル

$("#someElement") 

特定を持っています

<div class="test" id="someElement" style="position: absolute"></div> 

すると、特定の要素がかどうかを確認する方法はありますクラス(私の場合、 "テスト")。

代わりに、en要素が特定のスタイルを持っているかどうかを確認する方法はありますか?この例では、要素に「position:absolute」があるかどうかを知りたいと思います。

ありがとうございました!

+14

ない質問やit'sd場合は必ず答えは間違っていますが、質問にはstyle = "test"があり、答えはclass = "test"を探します。 – wheresrhys

+1

私は正しい答えが間違っているので、質問は間違っています。関係なく、投票を見てから、私はこの間違った質問への正解を探して、ほとんどの人がここにたどり着いてきたと思うのですが...それは意味があれば... DrJokepuからの答えです。それが私がここにいる理由です。 – BrainSlugs83

答えて

51
if($('#someElement').hasClass('test')) { 
    ... do something ... 
} 
else { 
    ... do something else ... 
} 
+0

ありがとうございます。 完璧な解決策 – 0100110010101

+56

これは質問されたように質問に答えません - 下記のDrJokepuの答えをご覧ください。 –

+0

私のために完璧に動作しますありがとう:) – Rajnikanth

1

私は一つの解決見つけた:

$("#someElement")[0].className.match("test") 

を何とか私はもっと良い方法があることを信じています!

241

CSSスタイルは、「タグ」だけでなく、キーと値のペアです。デフォルトでは、各要素にはCSSスタイルのフルセットが割り当てられています。そのほとんどは暗黙的にブラウザのデフォルトを使用しており、一部はCSSスタイルシートで明示的に再定義されています。

は、要素の特定のCSSエントリに割り当てられた値を取得し、それを比較するには:あなたはスタイルを再定義していない場合は、その特定の要素に対するブラウザのデフォルトを取得します

if ($('#yourElement').css('position') == 'absolute') 
{ 
    // true 
} 

+0

うわー。それを知らなかった。 ありがとうございます! – 0100110010101

+3

セレクタで行う方法はありませんか? – BrainSlugs83

+0

これで実際のプロパティは何かわかりますが、このプロパティが直接設定されているかCSSスタイル/ブラウザから継承されているかどうかを知る必要があります。 –

12
if ($("element class or id name").css("property") == "value") { 
    your code.... 
} 
0

それとも、あなたはその性質を持っており、それがIDを使用していない要素にアクセスする必要がある場合、あなたはこのルートを行くことができる:

$("img").each(function() { 
     if ($(this).css("float") == "left") { $(this).addClass("left"); } 
     if ($(this).css("float") == "right") { $(this).addClass("right"); } 
    }) 
関連する問題