-1

jQueryを使用して、そのdivに別のCSSプロパティが存在することを考慮して、divのCSSに追加しようとしています。これはアルゴリズムです:

#div1プロパティが の場合は、 にもcolor:red追加top: -10px;#div1ます。

これは私が試したことです:

if ($('#div1').css('color') === 'red') {
    $("#div1").css("top","-10px");
}

誰でも私のエラーを見つけることができますか?

注: と の両方を処理する CSS クラスを追加するcolorことをおtop勧めしますが、Web サイトのスタイルシートを編集できません。

4

4 に答える 4

4

投稿されたコードに構文エラーはありません。cssメソッドはrgb値を返します。

if ($('#div1').css('color') === 'rgb(255, 0, 0)') {

ただし、色をチェックする代わりに、要素にクラスを追加してhasClassメソッドを使用できます。

.error {
   color: red;
}

if ( $('#div1').hasClass('error') ) {
于 2013-02-13T14:43:15.347 に答える
3

これは、色をさまざまな方法で表現できるためです。rgb(255,0,0)、「赤」、#f00 など

于 2013-02-13T14:43:21.903 に答える
0

CSS カラーは RGB 値として返されます。

あなたはこのフィドルのようにすることができます

if ($('#div1').css('color') == 'rgb(255, 0, 0)') {  
    $("#div1").css("color","blue");
}

明らかな変更のために、出力を青に変更したことに注意してください。

ブラウザに依存しているかどうかわからないので、クラスを div に追加し、色をチェックする代わりに #div1 にそのクラスがあるかどうかを確認することを強くお勧めします。

于 2013-02-13T14:46:22.277 に答える
-2

テストされていませんが、正しい構文にはコロンと中括弧が必要です

if ($('#div1').css('color') === 'red') {
    $("#div1").css({"top":"-10"});
}
于 2013-02-13T14:42:55.977 に答える