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

演示

$("#bgcolor").mouseleave(function(){
    var bodyColor = $(this).css("background-color");
    $("body").css("background-color",bodyColor);
});
于 2013-05-14T17:29:32.353 回答
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 回答