18

ここに私のHTMLコード:

 <i id="bgcolor" style="background-color: rgb(255, 146, 180)"></i>

jquery attr を使用して背景色の値を取得したいと考えています。私が試したのは以下です:

$("#bgcolor").mouseleave(function(){
        var bodyColor = $(this).attr("style");

        $("body").css(bodyColor);
    });

しかし、この出力は次のとおりです。

background-color: rgb(255, 146, 180);

そして、CSSに追加したので、機能しません。どうすればこのタスクを達成できますか?

ここに画像の説明を入力

4

5 に答える 5

24

.css のドキュメントを確認してください: http://api.jquery.com/css/

var bodyColor = $(this).css("backgroundColor");
于 2013-05-14T17:23:15.863 に答える
5

これはあなたが探しているものです(このコードは機能します):

$("#bgcolor").mouseleave(function(){
    var bodyColor = $(this).attr("style");
    $("body").attr("style", bodyColor);
});

ただし、 を使用する代わりに を使用attrする必要がcssあるため、コードは次のようになります。

$("#bgcolor").mouseleave(function(){
    var bodyColor = $(this).css("background-color");
    $("body").css("background-color", bodyColor);
});

JSFiddle

于 2013-05-14T17:24:28.970 に答える
1

これでうまくいくはずだと思います。

$("body").css(bodyColor);

$("body").attr('style', $(this).attr("style"));

これにより、スタイルが他のオブジェクトのスタイルに変更されるはずです。

于 2013-05-14T17:23:29.330 に答える
1

を使用し$("#bgcolor").css("backgroundColor");て色を取得できます。

于 2013-05-14T17:24:05.007 に答える
1

デモ

$("#bgcolor").mouseleave(function(){
    var bodyColor = $(this).css("background-color");
    $("body").css("background-color",bodyColor);
});
于 2013-05-14T17:29:32.353 に答える